Comparer des cellules dans une colonne

Résolu/Fermé
papacricri64 Messages postés 5 Date d'inscription mercredi 23 septembre 2015 Statut Membre Dernière intervention 12 mai 2017 - 23 sept. 2015 à 17:10
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 - 24 sept. 2015 à 14:09
Bonjour à tous,

je suis débutant en vba et je souhaiterai comparer des cellules dans des colonnes.Je m'explique pour votre compréhension.

Dans la colonne A de la feuille 1 j'ai un identifiant de type Axxx xxxx avec une date en colonne B ensuite dans la colonne A de la feuille 2 j'ai un identifiant de type Axxx xxxx et une date dans la colonne B.
Je souhaiterai chercher l'identifiant de la feuille 1 avec celui de la feuille 2 et recopier en feuille 3 l'identifiant de la feuille 2 avec la nouvelle date de la feuille 2.

J'espère avoir été très explicite.

Merci d'avance pour votre retour.
A voir également:

2 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 312
23 sept. 2015 à 18:00
Bonjour

Les propositions peuvent être très différentes suivant le nombre de lignes

comme on a pas envie de passer du temps à refaire un classeur qui ne conviendrait certainement pas...

Mettre le classeur sans données confidentielles en pièce jointe sur https://www.cjoint.com/
et coller le raccourci proposé (clic droit) dans le message de réponse
Dans l'attente

0
papacricri64
24 sept. 2015 à 11:11
Bonjour michel_m,

merci beaucoup pour vos conseils Mr Kuard a répondu à ma demande,merci à vous pour votre aide et conseils.

Je vous souhaite une bonne continuation.

Cordialement,

Christophe .
0
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
Modifié par Kuartz le 23/09/2015 à 18:04
Bonjour,

Ce genre de code devrait convenir :

Sub COMPARATIF()
Dim DLig As Long
Dim DLig2 As Long
DLig = Sheets(1).Range("A2").End(xlDown).Row
DLig2 = Sheets(2).Range("A2").End(xlDown).Row
x = 3
'boucle sur les lignes de Feuil2
For t = 4 To DLig2
' si identifiant existe en feuil 1 on recopie les colonnes en feuil3
If Application.WorksheetFunction.CountIf(Sheets(1).Range("A:A"), Sheets(2).Range("A" & t)) > 0 Then
    x = x + 1
        For k = 1 To 2
        Sheets(3).Cells(x, k) = Sheets(2).Cells(t, k)
        Next
    End If
Next t
'boucle sur les lignes de Feuil1
For t = 2 To DLig
' si identifiant existe en feuil 2  on recopie les colonnes en feuil3
If Application.WorksheetFunction.CountIf(Sheets(2).Range("A:A"), Sheets(1).Range("A" & t)) > 0 Then
    x = x + 1
 For k = 1 To 2
        Sheets(3).Cells(x, k) = Sheets(2).Cells(t, k)
        Next
    End If
Next t

End Sub
0
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
23 sept. 2015 à 18:04
Je rejoins michel_m, j'ai pris des cellules au hasard pour le début du tableau etc.
0
papacricri64
24 sept. 2015 à 11:09
Merci beaucoup Kuartz tout fonctionne à merveille malgrés quelques modifications mais qui étaient à ma portées,effectivement je possède un fichier avec beaucoup de données et biensur très confidentiel .
Merci encore pour m'avoir aidé et je vous souhaite une bonne continuation.

Cordialement,

Christophe.
0
Kuartz Messages postés 852 Date d'inscription vendredi 13 février 2015 Statut Membre Dernière intervention 15 février 2019 61
24 sept. 2015 à 14:09
Parfait. Merci de mettre le sujet en résolu.

Cordialement.
0