• Initiateur de la discussion Initiateur de la discussion David2Coree
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

David2Coree

Guest
Bonjour à tous,

J'aimerai avoir votre aide. Voilà mon problème est que j'ai un fichier où je dois faire la comparaison entre 2 onglets et sur le 3ème onglet je dois insérer les lignes qui ne sont pas présente soit dans l'onglet 1 ou 2(ci-joint mon fichier).
Y-aurait-il une macro ou une formule qui pourrait exécuter ce que j'aimerai faire ?
Merci pour vos réponses.
 

Pièces jointes

Re : Comparer 2 onglets

bonjour David2Coree,

voici une macro qui a l'air de répondre à tes attentes :
Code:
Sub check()
Dim source1 As Worksheet, source2 As Worksheet, dest As Worksheet
Dim i As Integer, j As Integer
Dim cellRecherche As Range
Dim existe As Boolean

Set source1 = ThisWorkbook.Sheets("Profil1")
Set source2 = ThisWorkbook.Sheets("Profil2")
Set dest = ThisWorkbook.Sheets("Comparaison")

With source1
    For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
        existe = True
        Set cellRecherche = source2.Columns(1).Find(.Range("A" & i), , xlValues, xlWhole)
        If cellRecherche Is Nothing Then
            existe = False
        Else
            For j = 1 To 3
                If .Range("A" & i).Offset(0, j) <> cellRecherche.Offset(0, j) Then existe = False
            Next j
        End If
        If Not existe Then .Range("A" & i).EntireRow.Copy dest.Range("A" & dest.Rows.Count).End(xlUp).Offset(1, 0)
    Next i
End With

With source2
    For i = 2 To .Range("A" & .Rows.Count).End(xlUp).Row
        existe = True
        Set cellRecherche = source1.Columns(1).Find(.Range("A" & i), , xlValues, xlWhole)
        If cellRecherche Is Nothing Then
            existe = False
        Else
            For j = 1 To 3
                If .Range("A" & i).Offset(0, j) <> cellRecherche.Offset(0, j) Then existe = False
            Next j
        End If
        If Not existe Then .Range("A" & i).EntireRow.Copy dest.Range("A" & dest.Rows.Count).End(xlUp).Offset(1, 0)
    Next i
End With
End Sub

a+
 
Re : Comparer 2 onglets

Déjà, merci pour la rapidité de vos réponses à tous.
Je vais essayer d'appliquer vos différentes solutions dans l'après midi et je vous tiens au courant de la suite.
Merci encore.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
336
Retour