Excel Vba : si colonne H contient...

Résolu/Fermé
aude - 2 déc. 2011 à 10:01
 Aude - 5 déc. 2011 à 08:58
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

Merci beaucoup d'avance pour votre aide !!!

Aude
0
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
2 déc. 2011 à 11:43
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
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
2 déc. 2011 à 11:54
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
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
2 déc. 2011 à 12:11
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
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
2 déc. 2011 à 13:30
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 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 302
2 déc. 2011 à 10:23
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