Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2954 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comparer 2 listes dans 2 onglets via macro VBA (Excel 2007)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Comparer 2 listes dans 2 onglets via macro VBA (Excel 2007)

n°2086520
salomal
Posté le 01-07-2011 à 17:18:39  profilanswer
 

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
mood
Publicité
Posté le 01-07-2011 à 17:18:39  profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Comparer 2 listes dans 2 onglets via macro VBA (Excel 2007)

 

Sujets relatifs
Execution d'une Macro Access a partir d'un code C#Instance Excel
[EXCEL/VBA] Masquer fenêtre DOSEnvoi mail automatique via Excel
(Résolu) Version driver carte reseau [VBS/VBA/VB]Excel et SQL requete avec deux condition?
[Résolu] Affectation de variable/Macro copier coller Excelprobleme excel vba somme
Plus de sujets relatifs à : Comparer 2 listes dans 2 onglets via macro VBA (Excel 2007)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR