Formule sur Excel 2007

Bonjour,

Je souhaite soliciter votre aide...

J'ai un tableau Excel représentant des livraisons. Avec comme colonnes: référence, quantité, délai, réceptionné le (et bien d'autre colonnes pas très importantes dans le contexte...)

Se que j'aimerai avec ce tableau, ce'st que lorque la date notée dans réceptionné le précede celle notée dans délai que la ligne entre les colonnes A et K se mettent en bleu au niveau de l'écriture, idem si la date est identique mais en vert cette fois et idem si la date dépasse mais en rouge.

Pa contre les commandes non livrées doivent restrés en noires.

Suite à cette mise en page, il faudrait que je calcule le pourcentage des quantité des livraisons bleu par rapport au tatal bleu-vert-rouge. idem pour le vert. idem pour le rouge.

Et dernier point je souhaiterais faire la somme par article des commandes encore ouvertes (donc en écriture noire) Exemple article: 22.18 27.36 29.10 31.14

Merci d'avance pour votre aide

Salutations

Nathy
Configuration: Windows XP
Internet Explorer 7.0

20 réponses

  • Votes
  • Date
  • Date décroissante
  1. Contributeur
    bonjour

    lorque la date notée dans réceptionné le précede celle notée dans délai que la ligne entre les colonnes A et K se mettent en bleu

    Tu peux très bien mettre tes couleurs avec un format conditionnel.
    - tu sélectionnes tes colonnes A à K
    - menu accueil /mise en forme conditionnelle / nouvelle règle
    - utiliser une formule et tu saisis =$E1>$F1 puis tu choisis le format police bleu
    en supposant que ton délai soit en colonne E et livraison en F

    Tu rajoutes une règle avec = en vert et < en rouge

    1. Et bé y a du taff...

      Tu peux changer la couleur de la police d'une case par la fonction:

      Font.ColorIndex = nombre_entier

      la numero correspondant a la couleur que tu veux, il va te falloir coder 3 fonctions, une pour chaques couleur dans une macro

      Après, les pourcentages ça se résoud en cellule avec un ou 2 calculs^^
      1. Merci pour les régles... je teste, je teste... pourtant je vous assure je suis pas blonde mais cela ne fonctionne pas...

        dites moi si ma régle est juste:

        Formule: ="$i1>$h1" AaBbCcYyZz(en rouge) (s'applique à) =$a$1:$k$1

        j'ai essayer d'enlever le symbole bloquage devant les 1 de la zone d'application mais mon ordi ne veux pas m'obéir... grrrr
        1. Je ne comprend vraiment pas se que ma régle a de faux...

          Et pouquoi elle ne fonctionne pas...

          Je sens qu'avec tout les formules à mettre sur mon tableau que je suis pas sortie de l'auberge.... :o)
          1. Bon après arrachage de cheveux et tapage de tête j'y suis arrivée pour la régle... pffff pas simple du tout...

            Par contre mon probléme reste inchangé quand à la formule du pourcentage...

            Comment faire pour que par exemple

            =("somme de la quantité des lignes bleues"*100)/"somme des quantité des lignes bleues-rouges-vertes

            ensuite comment faire pour:

            =somme(quantité de l'article A en noir)
            =somme(quantité de l'article B en noir)
            etc

            Merci d'avance
            1. pour ça je pense qu'en dehors d'une macro, tu ne peux rien faire...

              essaie, c'est pas très difficile, tu fais tes fonctions comme ça:

              tu testes si les cellules sont bleues/rouge/noir et tu entre le nombre dans une variable, ensuite, tu pourras faire tes calculs
              1. mais les macros pour moi c'est la grande inconues... pourriez vous me faire un exemple s'il vous plaît... je vous en remercie d'avance...

                Me faire une formule bidon mais que je pourrais reprendre dans les grandes lignes
                1. Contributeur
                  bonjour

                  =("somme de la quantité des lignes bleues"*100)/"somme des quantité des lignes bleues-rouges-vertes


                  Tu n'as pas besoin de macros pour faire un total sur excel !

                  bleu
                  =SOMMEPROD(($I1:$I10>$H1:$H10)*($K1:$K10))/SOMME($K1:$K10)
                  vert
                  =SOMMEPROD(($I1:$I10=$H1:$H10)*($K1:$K10))/SOMME($K1:$K10)
                  rouge
                  =SOMMEPROD(($I1:$I10<$H1:$H10)*($K1:$K10))/SOMME($K1:$K10)
                  non livrés
                  =SOMMEPROD(($H1:$H10="")*($K1:$K10))/SOMME($K1:$K10)

                  Pour l'avoir en pourcentage, suffit de cliquer sur le menu pourcentage du menu accueil.
                  Bien sûr, tu adaptes tes plages à ton classeur mais toutes doivent avoir le même nombre ce cellules dans la même formule.
                  J'ai considéré que tes quantités étaient en colonne K.
                  1. euh, la c'est moi qui ai besoin d'aide, tu veux bien étendre tes explications ? Comment il detecte la couleur la ?
                    1. Contributeur
                      bonjour

                      Comment il detecte la couleur la ?

                      Par la même formule qui a servi à la mettre car les mises en forme conditionnelles ne sont qu'un affichage et même en VBA, je veux bien que tu m'expliques comment tu la détecteras ?

                      Par contre, si tu utilises les 2 mêmes formules pour le cumul et la mise en forme, tu as le même résultat : non ?
                      1. Exact, j'y aurai surement pensé en écrivant les macros, mais detecter la couleur en VBA se fait assez simplement par la detection de l'index de couleur:

                        Font.ColorIndex
                        1. Contributeur
                          bonjour

                          detecter la couleur en VBA se fait assez simplement

                          Je sais bien et si tu cherches un peu sur le site tu trouveras une fonction paramétrable que j'ai mise pour le faire, mais une mise en forme conditionnelle ne touche pas au colorindex et donc tu ne peux pas les repérer ainsi.
                      2. Merci pour les réponses je vais tester cela se soir... je vous tiendrais au courant...
                        1. L'idée était bonne... cela marche en théorie

                          Malheureusement je souhaite qu'il me prenne dans le calcul que les ligne livrée donc ayant dans la colonne récéptionné le un chiffre > que 0... hors avec la formule il me prend en compte aussi les lignes pas encore livrée
                          1. Contributeur
                            bonjour

                            donc ayant dans la colonne récéptionné le un chiffre > que 0...

                            Tu peux peut-être adapter la formule à ton classeur en réfléchissant un tant soit peu
                            non livrés
                            =SOMMEPROD(($H1:$H10="")*($K1:$K10))/SOMME($K1:$K10)
                            par
                            =SOMMEPROD(($H1:$H10>0)*($K1:$K10))/SOMME($K1:$K10)

                            J'avais supposé que la date de livraison n'était pas saisie si pas livré ?
                            1. Merci de me prendre pour une conne... En word, ppt je te fais se que tu veux mais excel je galére et je croyais que ce forum était là pour nous aider...

                              oui la date n'est pas rentrée tand que la livraison n'est pas faites... mais bon laissez tomber je vais me débrouiller autrement

                              Merci quand même pour m'avoir aider...
                              1. Contributeur
                                bonjour

                                Désolé que tu ai mal interprété ma réponse car il me semblait que tu avais donné la réponse dans ta question.

                                Si la date n'est pas saisie, la formule ne peux pas récupérer toutes les données.