Excel comparer colonnes

bonjour,

et merci d'avance à tous ceux qui pourront m'aider

voila, dans le fichier joint, je voudrais comparer les 2 premieres colonnes des 2 onglets, et inserer dans le 2° onglet les lignes manquantes. De plus ce serait le top si ça se faisait automatiquement.

Vous pensez que c'est possible?

Bonjour,

as tu trouvé une solution, car je recherche quelque chose de similaire.

https://www.excel-pratique.com/forum/viewtopic.php?t=11183

Merci

Mathieu

Bonjour

Pour Christelle :

Fichier

Il suffit de copier la/les ligne(s) qui seraient en rouge dans la feuille données.

C'est faisable avec une macro, mais pour cela je passe la main.

Pour OUARZA :

Fichier

Amicalement

Nad

Bonjour,

Apres un petit quart d'heure de code, voici le resultat en VBA.

Sub comparer_completer()
'Activation de la feuille principale
Sheets("Principal").Activate
'Stockage des noms de feuilles
Range("B1").Activate
' Nom de la feuille de référence
valfprinc = ActiveCell.Value
' Nom de la feuille a compléter
valfacompleter = ActiveCell.Offset(1, 0).Value
'Activation de la feuille de référence
Sheets(valfprinc).Activate
'On se place dans la cellule A1
Range("A1").Activate
'Boucle1 ' tant que la cellule active n'est pas vide
Do While ActiveCell.Value <> ""
    'Stockage des valeurs a chercher
    val1 = ActiveCell.Value
    val2 = ActiveCell.Offset(0, 1).Value
    'ACtivation de la feuille a completer
    Sheets(valfacompleter).Activate
    'On se place dans la cellule A1
    Range("A1").Activate
    'Variable de valeur trouvée
    valtrouv = ""
    'Boucle2 Tant que la cellule acitve n'est pas vide
    Do While ActiveCell.Value <> ""
        'Test si la valeur de la cellule active est egale a val1 et si la valeur de la cellule adjacente est egal a val2
        If ActiveCell.Value = val1 And ActiveCell.Offset(0, 1).Value = val2 Then
            'Si valeurs sont trouvées
            valtrouv = 1
            'On passe a la ligne suivante
            ActiveCell.Offset(1, 0).Activate
        Else
            'On passe a la ligne suivante
            ActiveCell.Offset(1, 0).Activate
        End If
        'Fin du test
    Loop
    'Fin de boucle2
    'SI on n'a pas trouvé de corerspondance
    If valtrouv <> 1 Then
        'On ecrit les valeurs cherchees a la fin du tableau
        ActiveCell.Value = val1
        ActiveCell.Offset(0, 1).Value = val2
        'On remplit les cellules en rouge
        ActiveCell.Interior.ColorIndex = 3
        ActiveCell.Offset(0, 1).Interior.ColorIndex = 3
    End If
    'On revient sur la feuille de référence
    Sheets(valfprinc).Activate
    'Si on a pas trouvé de correspondance
    If valtrouv <> 1 Then
        'On remplit les cellule en rouge
        ActiveCell.Interior.ColorIndex = 3
        ActiveCell.Offset(0, 1).Interior.ColorIndex = 3
    End If
    'On passe a la ligne suivante
    ActiveCell.Offset(1, 0).Activate
Loop
'Fin de boucle1
End Sub

Et voici mon fichier test

https://www.excel-pratique.com/~files/doc2/trajectoire_modif_semaine.xls

Les explications :

On copie la feuille dite de référence, ou feuille contenant toutes les données

On copie la feuille incomplète

Dans l'onglet principal en cellule B1 on indique le nom de l'onglet de référence, dans la cellule B2 on indique le nom de l'onglet à compléter.

On lance la macro "ThisWorkbook.comparer_completer"

Menu Outils --> Macro --> Macro ... sélectino dans la liste. --> Executer

Et normalement si tout va bien ... vous verrez apparaitre les lignes manquantes dans le deuxième onglet avec un remplissage rouge et dans le premier on remplit en rouge aussi pour indiquer les lignes copiées.

En espérant que cela reponde a vos attentes.

chrystelle3103,

je suppose que depuis le temps, vous avez trouvé une solution à votre problème.

Si ce n'est pas le cas et que vous n'êtes pas familière avec les macros, voici un autre piste :

XLComparator

Il s'agit d'un service gratuit qui semble répondre à votre besoin initial.

Rechercher des sujets similaires à "comparer colonnes"