Excel Vba : si colonne H contient...

Résolu
Coucou à tous !

Je cherche à faire une macro qui donne le résultat suivant:

En fonction du chiffre indiqué colonne H, indiquer le nom du partenaire colonne J

Si H contient "L6" ou "71" ou "83" alors indiquer Partenaire1 colonne J
Si H contient "72" ou "80" alors indiquer Partenaire2 colonne J
Si H contient "81" ou "JM" alors indiquer partenaire3 colonne J
Si H contient "82" alors indiquer Partenaire 4 colonne J
Si H contient "84" ou "85" alors indiquer Partenaire 5 colonne J
Si H contient "88" ou "91" ou "93" alors indiquer Partenaire 6 colonne J
Si H contient "L3" alors indiquer Partenaire 7 colonne J

(Je sais que ça pourrait se faire via une formule mais je voudrais enchainer d'autres macros pour une mise en page rapide du fichier)

5 réponses

  1. Merci beaucoup d'avance pour votre aide !!!

    Aude
    0
    1. Contributeur
      Bonjour

      par exemple
      lig = 2
      Select Case Cells(lig, "H")
           Case Is = "L6", 76, 83
                Cells(lig, "J") = "partenaire 1"
           Case is = 72, 80
          ' .....
           Case Else
           '......
      End Select
      -1
      1. Merci de ton aide Michel !
        Toutefois puis je te demander ce que je dois mettre devant ce que tu m'as écrit (sub ? ) sous quelle forme ?

        Par ailleurs, peut être l'ais je mal exprimé mais j'ai besoin que la macro que tu m'as écrite soit appliquée à tout le fichier qui ne soit pas vide colonne H (et à partir de la ligne 2)

        Car en fait je me demande à quoi sert cette partie: "lig = 2"

        MErci beaucoup
        0
        1. Contributeur
          j'ai fait ce que j'ai pu avec ce que tu m'as donné car tu dis
          mais je voudrais enchainer d'autres macros pour une mise en page rapide du fichier
          donc je ne pouvais pas savoir si cette partie est dans une macro, si c'est une sous-macro dans ton enchainement, si tu voulais une fonction....

          Car en fait je me demande à quoi sert cette partie: "lig = 2"

          je t'ai marqué par exemple lig=2

          lig est le numéro de ligne sur le quel tu détermines le partenaire

          il peut venir d'une boucle ou être un paramètre de fonction personnalisé ou de macro paramétrée

          enfin
          Par ailleurs, peut être l'ais je mal exprimé mais j'ai besoin que la macro que tu m'as écrite soit appliquée à tout le fichier qui ne soit pas vide colonne H (et à partir de la ligne 2)

          tu ne l'as pas "mal exprimé" mais "pas exprimé"

          Voila

          0
          1. Alors, désolée, je pensais avoir ^été complête:

            Donc ce serait une macro à part. Dans ce cadre, que dois je rajouter ?

            Et comme expliqué, j'aimerai que la macro soit appliquée à toute la colonne J, tant que H n'est pas vide (sauf ligne 1).

            Est ce plus clair ?

            MErci en tout cas !
            0
            1. Contributeur
              as tu des vides dans ta colonne H ou se base t' on sur la dernière ligne remplie colonne H?
              tu as parlé de tout le fichier: toutes les feuilles du classeur sont concernées?
              0
            2. Pas de vides colonnes H jusqu'en bas de la feuille.

              En revanche dans la colonne où on souhaite le résultat (J) il ya des cellules remplies et des cellules vides. Je souhaite, dans tous les cas, que toute info colonne J soit détruite et remplacé par le résultat de la macro.

              J'ai dit tout le fichier... je voulais dire toute la feuille, désolée (encore)!
              0
            3. Contributeur
              Sub determiner_partenaire()
              Dim derlig As Integer, lig As Integer
              
              Application.ScreenUpdating = False
              derlig = Columns("H").Find("*", , , , , xlPrevious).Row
              
              For lig = 2 To derlig
                   Select Case Cells(lig, "H")
                   Case Is = "L6", 76, 83
                        Cells(lig, "J") = "partenaire 1"
                   Case Is = 72, 80
                  ' .....
                   Case Else
                   '......
              End Select
              
              Next
              End Sub
              

              select case à compléter et détermines ce que tu fait si aucune donnée (case else) de col H correspond à un partenaire
              0
            4. Super, merci beaucoup !!

              Cependant, bizarrement, ça ne fonctionne pas sur toutes les lignes:

              http://www.mirorii.com/fichier/43/458219/Classeur3-xls

              On se rend compte qu'il reste des lignes vides en J qui ne le sont pas en H !!

              (il en manque près de 3000 !)

              Merci beaucoup de ton retour, Michel !
              0
            5. Contributeur
              ton minorrii est une usine à gaz qui propose des trucs dont je n'ai pas besoin

              utilise https://www.cjoint.com/

              et laisse y la macro que tu as complété
              0