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. 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
        2. 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