Indiquer dans une colonne les fichiers où une cellule identique existe

Bonjour à tous,

J'ai cinq fichiers Excel répertoriant des coordonnées. Sur un sixième fichier contenant TOUTES les données des cinq précédentes, j'aimerais demander à Excel d'indiquer dans une colonne le nom de fichiers où une cellule identique existe.

Un exemple pour comprendre facilement :

Fichier A

- Mr Apple

- Mr Orange

Fichier B

- Mr Orange

- Mrs Citrus

- Mr Apple

Fichier C

- Mr Grapefruit

- Mr Apple

Et j'ai un fichier qui contient toutes les lignes de A, B et C. J'aimerais qu'il soit écrit à côté de chaque ligne :

Nom ı Retrouvé dans

- Mr Apple ı Fichier A, Fichier B, Fichier C

- Mr Orange ı Fichier A, Fichier B

- Mrs Citrus ı Fichier B

- Mr Grapefruit ı Fichier C

Auriez-vous une idée pour y parvenir ?

Merci pour votre aide !

bonjour,

les noms se trouvent-ils tous dans la même colonne sur une feuille portant un même nom dans chaque fichier?

Bonjour,

Oui, c’est le cas. C’est la première colonne, « Nom complet », qui est utilisée. La feuille porte le même nom dans chaque fichier.

Merci !

bonsoir,

une proposition, qui devrait fonctionner sur Mac (macro à mettre dans un module du fichier principal, qui contient tous les noms)

Sub aargh()
    nomfeuille = "sheet1" <- à adapter
    Set ws1 = Sheets(nomfeuille) 'feuille avec tous les noms
    dl = ws1.Cells(Rows.Count, 1).End(xlUp).Row 'nombre de noms
    Set plage = ws1.Range("A1").Resize(dl, 1) 'plage des noms
    'sélection de tous les fichiers à controler
    With Application.FileDialog(msoFileDialogFilePicker)
        .AllowMultiSelect = True
        .Title = "sélectionnez tous les fichiers à controler"
        .Filters.Clear
        .Filters.Add "fichiers à controler", "*.XLS*"
        If .Show = True Then

            For Each fname In .SelectedItems 'on passe en revue tous les fichiers sélectionnés un à un
                Set wb = Workbooks.Open(fname) 'ouverture du fichier
                fn = wb.Name 'nom du fichier sans le nom des répertoires
                Set ws = wb.Sheets(nomfeuille) 'feuille du fichier contenant les noms
                dlws = ws.Cells(Rows.Count, 1).End(xlUp).Row 'nombre de noms dans le fichier
                For i = 1 To dlws 'on prend chaque nom
                    'on cherche le nom dans la plage des noms
                    Set re = plage.Find(ws.Cells(i, 1).Value, lookat:=xlWhole, MatchCase:=False)
                    If Not re Is Nothing Then 'trouvé on ajoute le nom de fichier en colonne 2
                        re(1, 2) = re(1, 2) & IIf(re(1, 2) = "", "", ", ") & fn
                    End If
                Next i
                wb.Close False 'on ferme le fichier
            Next 'fichier suivant
        Else
            MsgBox "pas de fichier sélectionné"
        End If
    End With
End Sub

Merci infiniment pour votre aide ! J’essaie cela dès demain. Merci encore !

Rechercher des sujets similaires à "indiquer colonne fichiers identique existe"