Excel - Power Query - Power Pivot - VBA

EX07 | Fonctions logiques

Document fictif à usage pédagogique.

Énoncé

Contexte

  • Entreprise : Brévalis Industries (fictive).
  • Demande : le service commercial veut qualifier chaque commande : remise au-delà d'un seuil, commande prioritaire, contrôle des anomalies, palier et prix moyen.
  • Durée : 35 min | Niveau : intermédiaire.
  • Départ : EX07_depart.xlsx (tableau tblCmd, 40 commandes, paramètres en M2:N3) | Fin : EX07_corrige.xlsx.

Travail demandé

  • Remise : 5 % du montant au-delà du seuil (paramètres en N2 et N3), puis tester un seuil de 1 000 €.
  • Prioritaire : Oui si client fidèle et au moins 20 unités.
  • Controle : « À vérifier » si quantité nulle ou montant inférieur à 100 €.
  • Palier : Or (5 000 € et plus), Argent (2 000), Bronze (500), sinon Standard.
  • PrixMoyen : montant / quantité, sans erreur.

Simulation

  • Simulation interactive EX07 (6 étapes guidées, validation automatique) : voir la sous-page EX07 | Simulation.

Corrigé

E00 | Ouvrir le fichier de départ

  • Fichier > Ouvrir > Parcourir > Documents\excel-lab\depart\EX07_depart.xlsx.
💡
Capture : boîte Ouvrir, dossier depart, fichier EX07_depart.xlsx sélectionné

E01 | Remise avec SI

  • G1 : Remise (le tableau s'étend).
  • G2 : =SI([@MontantHT]>$N$2;[@MontantHT]*$N$3;0). La colonne calculée se remplit.
💡
Capture : boîte Arguments de la fonction SI

E02 | Changer le seuil

  • N2 : 1000. Les remises se recalculent sans toucher aux formules.

E03 | Prioritaire avec ET

  • H1 : Prioritaire ; H2 : =SI(ET([@Fidele]="Oui";[@Quantite]>=20);"Oui";"Non").

E04 | Contrôle avec OU

  • I1 : Controle ; I2 : =SI(OU([@Quantite]=0;[@MontantHT]<100);"À vérifier";"OK").

E05 | Paliers avec SI.CONDITIONS

  • J1 : Palier ; J2 : =SI.CONDITIONS([@MontantHT]>=5000;"Or";[@MontantHT]>=2000;"Argent";[@MontantHT]>=500;"Bronze";VRAI;"Standard").
  • Excel 2016 : =SI([@MontantHT]>=5000;"Or";SI([@MontantHT]>=2000;"Argent";SI([@MontantHT]>=500;"Bronze";"Standard"))).
💡
Capture : résultat avec paliers

E06 | Prix moyen avec SIERREUR

  • K1 : PrixMoyen ; K2 : =[@MontantHT]/[@Quantite] : #DIV/0! sur les deux commandes annulées.
  • Corriger : =SIERREUR([@MontantHT]/[@Quantite];0).
  • F12 > EX07_corrige.

Points de vigilance

  • Dans SI.CONDITIONS, commencer par le seuil le plus haut : la première condition vraie l'emporte.
  • Le texte se compare entre guillemets ("Oui") ; la comparaison ne tient pas compte de la casse.
  • SIERREUR masque toutes les erreurs, y compris celles qui signalent une vraie faute de formule : l'utiliser en dernier.
  • Option de présentation : une mise en forme conditionnelle (Texte qui contient Or, Argent...) colore les paliers.

Pour aller plus loin

  • Fonction SI.CONDITIONS : Source
  • SI avec ET, OU et NON : Source
  • Colonnes calculées : Source