Monsieur Excel
Pour tout savoir faire sur Excel !

09 mai 2012

Etes-vous dans le top 1% d'Excel ?

Vous avez aujourd’hui l’occasion de vérifier si vous êtes dans le top 5% - et même probablement le top 1% ! – des utilisateurs d’Excel. A mon avis, si vous êtes capable de trouver la solution au problème ci-dessous, c’est gagné !

On a dans les colonnes A à E, dans chaque ligne, un code article ainsi que les quantités commandées pour cet article dans quatre tailles.

Votre mission est d’entrer en G3:H3 des formules que vous pourrez recopier vers le bas et qui listeront, au rythme d’une ligne par commande, les quantités commandées pour chaque combinaison possible d’une référence et d’une taille.

Pour faciliter la lecture des colonnes G et H, vous devez aussi indiquer par un changement de couleur de fond le passage d’une référence à la référence suivante.

Je vous laisse travailler... Ne regardez pas la solution tout de suite !

 Voici la solution que je vous propose :

G3 : =decaler($A$3;ent((ligne()-3)/4)+1;0)&" - "&index($B$3:$E$3; mod(ligne()+1;4)+1)

H3 : =decaler($B$4;ent((ligne()-3)/4);mod(ligne()+1;4))

Condition pour le format conditionnel en fond jaune, pour les cellules G3:H22 :
=mod(ent((ligne()+1)/4);2)=0

Remarque – On pourrait aussi, mais je n’ai pas voulu alourdir les formules présentes, inclure dans les trois formules (G3, H3, format conditionnel) un test qui permet d’afficher des cellules vides sur fond blanc si l’on recopie les formules au-delà de la ligne 22 !

2 Commentaire(s):

  • ma solution:
    G3=INDEX($A$4:$A$8;ARRONDI.SUP((LIGNE()-2)/4;0))&" - "&INDEX($B$3:$E$3;;1+MOD((LIGNE()+1);4))

    H3=RECHERCHEV(GAUCHE(G3;5)*1;$A$4:$E$8;EQUIV(DROITE(G3;NBCAR(G3)-8);$A$3:$E$3;0);FAUX)

    format:=MOD((LIGNE()-3);8)>3

    C'est votre blog qui m'a fait découvrir la fonction decaler il y a quelques semaines donc je ne me la suis pas encore approprié...

    By Blogger Philippe, sur 11:49 PM  

  • Personnellement, je n'aime pas bien utiliser LIGNE()+x, car si on déplace le tableau, ça ne fonctionne plus !
    Du coup, je fais une différence avec la première ligne du tableau de cette manière :

    G4 =INDEX($A$4:$A$8;ARRONDI.INF((LIGNE()-LIGNE($G$4))/4;0)+1)&" - "&INDEX($B$3:$E$3;1;MOD(LIGNE()-LIGNE($G$4);4)+1)

    H4 =INDEX($B$4:$E$8;ARRONDI.INF((LIGNE()-LIGNE($G$4))/4;0)+1;MOD(LIGNE()-LIGNE($G$4);4)+1)

    By Blogger Julien, sur 8:38 AM  

Enregistrer un commentaire

<< Accueil