Macro pour Extraire doublons depuis plusieurs colonnes.
cs_ziip2
Messages postés3Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention20 mai 2008
-
20 mai 2008 à 17:00
cs_ziip2
Messages postés3Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention20 mai 2008
-
20 mai 2008 à 18:23
Bonjour,
Je dispose de deux feuilles sur Excel :
- La premiere comporte des informations sur les clients (Nom, prénom, adresse, Numéro de facture, montant en devise et montant en dollars) et elle constitue la base de données de base.
- La deuxième comporte également ce type de données pour les mauvais payeurs client (Nom, prénom, adresse, Numéro de facture, montant en devise seulement)
Je vouderai une macro sur excel qui me permetterai d'extraire tout les clients qui figure sur la 2ème feuille et qui ont le même montant en devises que celui figurant SOIT en devises SOIT en dollar sur la preière feuille et qu'il puisse les afficher avec l'ensemble de leur données (adresse, numéro de factures) sur une 3ème feuille !!!!!
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 20 mai 2008 à 17:09
salut,
il faut boucler sur tes deux feuilles.
dim i as integer, j as integer
dim NomTemp as string
for i = 1 to Sheets(2).Range("a1").End(xlDown).Row
NomTemp = cells(i, 1).Value
for j = 1 to Sheets(1).Range("a1").End(xlDown).Row
If cells(j, 1).Value = NomTemp then
' action a faire si le nom correspond
end if
next j
next i
Voilà déjà un indice, fait différent tests
(adpate les valeurs des feuilles (sheets(?)) et des cellules (cells(i, ?))
cs_ziip2
Messages postés3Date d'inscriptionmercredi 13 avril 2005StatutMembreDernière intervention20 mai 2008 20 mai 2008 à 17:17
Merci pour ta réponse mais j'oublié de te signaler un truc : c'est que je ne suis encore qu'un débutant sur VB !!! est ce que tu pourrai "vulgariser un peu l explication" loll !!!! J'ai pas saisi le passage :
il faut boucler sur tes deux feuilles.
dim i as integer, j as integer
dim NomTemp as string
et aussi les i et les j est ce que je dois aussi les remplacer ?
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 20 mai 2008 à 17:25
non, je commente mes lignes :
for i = 1 to Sheets(2).Range("a1").End(xlDown).Row
' là la boucle
sert à faire donner comme valeur à la variable 'i' _
1, puis 2, puis 3, etc.. jusqu'à
la derniere ligne utilisée de _
la seconde feuille.
NomTemp = Sheets(2).cells(i, 1).Value
' ici, quand i vaut 1,
NomTemp = ce qu'il y a dans la cellule A1 de _
la seconde feuille (au passage,
je viens de corriger une erreur^)
for j = 1 to Sheets(1).Range("a1").End(xlDown).Row
' là la boucle
sert à faire donner comme valeur à la variable 'j' _
1, puis 2, puis 3, etc.. jusqu'à
la derniere ligne utilisée de _
la premiere feuille.
If cells(j, 1).Value = NomTemp then
' Si la valeur de A1, puis A2,
puis A3, etc.. = ce qui est contenu _
dans la variable NomTemp, alors faire..
' action a faire si le nom
correspond
end if
next j
next i
~
<small>[code.aspx?ID=39466 Mortalino] ~
Colorisation automatique</small>
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 20 mai 2008 à 17:26
Le mieux c'est que tu test en mode pas à pas (avec F8 dans le VBE), ça execute le code ligne par ligne. Et quand tu survoles les variables avec la souris, tu as leurs valeurs au moment de l'exécution en cours (donc regarde i, j et NomTemp)