Copier coller avec VBA sous conditions

Bonjour a toutes et tous,

Je souhaite comparer deux meme type de donnees (Colonnes C et D) et extraire les informations des lignes lorsque il y a doublon, autrement dit je souhaite creer une macro afin de copier des lignes conditionnellement d’un onglet a l’autre.

Etant novice en VBA, je cherche à 1)automatiser une recherche, selon les conditions mentionnees plus haut, et 2) copier coller les informations dont j'ai besoin sur un autre onglet.

Je voudrais realiser une boucle qui parcours et compare les donnees de la colonne C avec la colonne D de mon premier onglet, et qui copie colle de manière automatique les lignes dans le deuxieme onglet lorsque il y a duplicita.

La difficulte (que je n’arrive pas a depasser) est que il est possible qu’Il y ait une donnee identique entre C4 et D9 par exemple.

Je vous mets ci dessous ce que j’ai reussi a faire pour le moment (mais qui ne fonctionne pas encore) :

Dim i As Integer, count_row As Integer, First_Row_number As Integer, Changing_Row As Integer

count_row = 10 ' Cells(Rows.count, 1).End(xlUp)

last_column_number = 5

First_Row_number = 3

'First_Row_number

Changing_Row = 1

For ligne = 1 To count_row

For colonne = 1 To last_column_number

For li = 1 To count_row

If Sheet1.Cells(li, 3) = Sheet1.Cells(ligne, 4) Then

'If Sheet1.Cells(ligne, 4) <> "" Then

Sheet2.Cells(Changing_Row, colonne) = Sheet1.Cells(ligne, colonne)

'End If

End If

Next li

Next colonne

Changing_Row = Changing_Row + 1

Next ligne

End Sub

Je vous remercie beaucoup par avance pour votre aide précieuse.

8test-vba.xlsm (37.53 Ko)

Bonjour Flo822 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER]
qui vous aidera dans vos demandes et réponses sur ce forum

Vous voudrez bien éditer votre 1er post et mettre le code entre balise [CODE] [/ CODE] sans espace après le / ou en utilisant le bouton </>

Merci de votre participation

Cordialement

Bonjour,

Veuillez trouver ci-joint un exemple qui répond à votre demande initiale en comparant chaque cellule des colonnes C et D.

27test-vba.xlsm (39.33 Ko)

Si le nombre de lignes de la feuille "Source" est important, il faudra préférer travailler avec des variables tableaux qui produiront le même résultat avec un traitement plus rapide.

Merci beaucoup Antoine, c'est magique ! Puis-je encore vous demander si dois-je utiliser <Cells(Rows.count, 1).End(xlUp)> pour copier coller toute la ligne?

Merci encore,

Bonne soiree,

Myriam

Bonjour Myriam,

Copier toute la ligne ? Mais les valeurs en doublon ne sont pas sur la même ligne :

- le doublon 25-8588 est sur les lignes 4 et 8

- le doublon 25-85741 est sur les lignes 5 et 7.

Quel résultat est attendu précisément dans la Sheet2 ?

Je voudrais copier toute la ligne 4 dans la sheet 2 si il y a doublon entre la colonne C et D, et de meme pour la ligne 5 si il y a donnee identique entre la colonne C et D (la colonne D ne servant qu'a identifier le doublon seulement.)

Je ne sais pas si je suis claire ?

Merci beaucoup,

Myriam

Bonjour à tous !

Une proposition via Power Query :

10flo822-v0.xlsx (41.13 Ko)

EDIT : Si les données sources sont modifiées, il faut passer par le menu "Données / Actualiser tout" pour rafraîchir les informations.

Rechercher des sujets similaires à "copier coller vba conditions"