comparer 2 colonnes entre feuille A et B, et recopier toutes les infos

marvin

XLDnaute Nouveau
Bonjour,
Je vous expose mon problème :
J'ai dans une feuille excel (table des correspondances) une colonne A avec toute les communes de la manche et dans une colonne B l'EPCI à laquelle cette commune fait partie.
Dans ma deuxième feuille (base) excel j'ai une colonne A avec quelques communes et une colonne B avec des données pour ces communes.
Ainsi, j'aimerai que dans ma deuxième feuille, il est une colonne C avec pour chaques communes sont epci (présent dans la feuille 1 colonne B).

Voici ce que j'ai fait pou le moment mais il recopie la colonne epci dans l'ordre et sans tenir compte de mes communes :
Code:
Public Sub report()
Dim i As Integer
Dim pos As Variant

For i = 2 To Cells(1, 1).End(xlDown).Row
    Set pos = Cells.Find(What:=Sheets("base").Cells(i, 1).Value, After:=Sheets("table des correspondances").Cells(1, 1), LookIn:=xlFormulas, _
        LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=False)
    If Not pos Is Nothing Then
        Sheets("base").Cells(i, 2).Value = Sheets("table des correspondances").Cells(pos.Row, 2)
    End If
Next i
End Sub

Je vous est mis un exemple en pièce jointe, j'éspère avoir étais explicite et que vous pourrez m'aider dans mon travail.
cordialement, marvin
 

Pièces jointes

  • Copie de table des correspondances.xls
    70 KB · Affichages: 58

Gorfael

XLDnaute Barbatruc
Re : comparer 2 colonnes entre feuille A et B, et recopier toutes les infos

Salut marvin et le forum
Je sais que la langue française est extrêmement complexe à apprendre pour un étranger, mais mettre en phonétique n'aide pas à la compréhension. Le but n'est pas de rédiger rapidement un sujet, mais de le faire comprendre !

Feuille "table des correspondances" :
- colonne A : communes de la manche
- colonne B : EPCI dont la commune fait partie.
Feuille "base" :
- colonne A : communes
- colonne B : aucune valeur ???
- colonne C : des "données" se rapportant à la commune

Le fichier d'essai ne semble même pas correspondre à la description du problème !
Vu que B de la Feuille "Base" ne comporte aucune indication, je suppose que tu veux rapatrier "EPCi" de la feuille "table des correspondances" dans cette colonne.
Ce qui donne une macro du type :
Code:
Sub report()
'Déclarations ======================================
Dim X As Long, Cel As Range, Pos As Range
Dim F_S As Worksheet, F_D As Worksheet
'MEI ===============================================
Set F_S = Sheets("table des correspondances")   'feuille source
Set F_D = Sheets("Base")                        'feuille destination
'traitement ========================================
For Each Cel In F_D.Range(F_D.[A2], F_D.Cells(Rows.Count, "A").End(xlUp))
    Set Pos = F_S.Columns(1).Find(Cel, LookAt:=xlWhole)
    If Pos Is Nothing Then
        MsgBox "Pas de correspondance pour " & Cel, vbOKOnly, "Erreur"
    Else
        F_D.Cells(Cel.Row, "B") = F_S.Cells(Pos.Row, "B")
    End If
Next Cel
End Sub
Mais je ne suis sûr de rien. J'ai peut-être mal décodé ton sujet...
A+
 

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16