Actualiser un tableau à partir d'un autre tableau

Bonjour à tous,

J'espère que vous pourrez m'aider, ça ne dois pas être très compliqué...

Je dois actualiser un tableau ... (j'ai fait un exemple en pièce jointe)

J'ai deux fichiers :

fichier 1 :

colonne A = entreprises

colonne B= effectif 2006

fichier 2

colonne A = entreprises (portant le même nom avec des ajouts d'autre et suppressions)

colonne B = adresse

Colonne C = Ville

colonne D = effectif 2008

J'aimerais ajouter au fichier 1 trois colonnes et y mettre les données de la colonne B, C, et D du fichier 2 en faisant une recherche.

Est ce que vous sauriez comment faire ca ?

Merci pour votre aide !

bonsoir

pour amorcer

40maried.zip (5.03 Ko)

Bonsoir, salut tulipe,

Si l'opération n'est pas répétitive,

tu peux copier les feuilles des 2 fichiers (placées en tête des onglets)

et lancer la macro "Complète"

c'est ce que j'ai fait ici pour tester

vois si çà convient

S'il y a des doublons d'entreprise, c'est la 1ère trouvée qui sera prise.

Sub Complète()
Dim Lg&, Lg2&, i%, c As Range
Dim f1 As Worksheet, f2 As Worksheet
        Application.ScreenUpdating = False
        Set f1 = Sheets(1) 'Sheets("fichier1")         'à régler
        Set f2 = Sheets(2) 'Sheets("fichier2")         'à régler

    With f2
        .Range("b2:d2").Copy Destination:=f1.Range("c2")
        Lg = f1.Range("a" & Rows.Count).End(xlUp).Row
        For i = 4 To Lg
            Set c = .Range("a:a").Find(f1.Cells(i, "a"), LookIn:=xlValues, lookat:=xlPart)
            If Not c Is Nothing Then
                f1.Cells(i, "c") = .Range(c.Address).Offset(0, 1)
                f1.Cells(i, "d") = .Range(c.Address).Offset(0, 2)
                f1.Cells(i, "e") = .Range(c.Address).Offset(0, 3)
            End If
        Next i
    End With

    '--- vérif si fichier2 contient des entreprises non existantes en fichier1 ---
    '--- si c'est le cas, on les ajoute à la suite du fichier1 ---

    With f1
        Lg = f2.Range("a" & Rows.Count).End(xlUp).Row
        For i = 4 To Lg
            Set c = .Range("a:a").Find(f2.Cells(i, "a"), LookIn:=xlValues, lookat:=xlPart)
            If c Is Nothing Then
                Lg2 = .Range("a" & Rows.Count).End(xlUp).Row + 1
                .Range("a" & Lg2) = f2.Cells(i, "a")
                .Range("c" & Lg2) = f2.Cells(i, "b")
                .Range("d" & Lg2) = f2.Cells(i, "c")
                .Range("e" & Lg2) = f2.Cells(i, "d")
            End If
        Next i
        .Activate
        .Range("a:e").Columns.AutoFit
    End With
End Sub

Amicalement

Claude

32maried-fichiers.zip (19.00 Ko)

Bonjour,

Encore une demande sans suite aux réponses,

ras le bol !

Claude

Rechercher des sujets similaires à "actualiser tableau partir"