Excel Vba : si colonne H contient...

Résolu
aude -  
 Aude -
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)
A voir également:

5 réponses

aude
 
Merci beaucoup d'avance pour votre aide !!!

Aude
0
aude
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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
Aude
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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
Aude
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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
Aude
 
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
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
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