Bonjour,
Je suis débutante en macro VBA. Je me heurte à un pb que je n'arrive pas à résoudre. Si quelqu'un pouvait m'orienter vers une solution... Mon pb est le suivant :
J'ai 2 onglets. Dans l'onglet Feuil1 j'ai une liste de noms Liste1. Dans l'onglet Feuil2 j'ai une liste de nom Liste2. La Liste2 est composée d'une partie des noms de la Liste1.
Mon pb est de construire correctement une macro qui irait voir si un nom de Liste1 se trouve dans Liste2 auquel cas un traitement (mise à jour d'un tableau dans un autre onglet Feuil3 et sauvegarde de cet onglet en format PDF) serait déclanché. Si le nom lu de Liste1 ne trouve pas de correspondant dans Liste2, alors la macro irait au nom suivant dans Liste1 et referait le même processus jusqu'au dernier nom.
Pour essayer de faire cette macro, j'utilise 2 boucles imbriquées et le code suivant:
Private sub MaMacro
Dim debut1, fin1, debut2, fin2 as long
Dim NomListe1, NomListe2 as string
Workbooks.open filename:= MonNomdeFichier
workshests("Feuil1" ).activate
' je determine l'indice de boucle de la Liste1
workshests("Feuil1" ).activate
debut1 = 1
Range("A"&debut1).Select
Fin1 =ActiveCell.row
' je determine l'indice de boucle de la Liste2
workshests("Feuil2" ).activate
debut2 = 1
Range("A"&debut2).Select
Fin2 =ActiveCell.row
' Je compare le iem nom de Liste1 au jieme nom de Liste2
For i = debut1 to fin1
set NomListe1 = Range("A" & i)
For j = debut2 to fin2
set NomListe2 = Range("A" & j)
' Si non trouvé, je vais au ieme nom suivant et reprend la comparaison
If NomListe1 <> NomListe2
then Recommencer ???
End if
Next J
'Si trouvé, je déclanche le traitement Traitement de maj d'un tableau
'et je passe au ieme nom suivant
Msgbox NomListe1 " trouvé"
Call traitement
Next i
End sub
J ai testé cette macro, elle plante. Je crois que je me mele les pinceaux avec les boucles imbriquées.
Aurez vous la gentillesse de m'aider de la mettre au point pour qu'elle fonctionne enfin.
Merci d'avance
Salomal
---------------
Merci et bonne journée