Z
zeboue
Guest
Bonjour,
J'ai un problème avec l'usage de la fonction Find entre 2 fichiers.
La macro est enregistrée dans le fichier A
Je voudrai effectuer une boucle sur un fichier B en récupérant une valeur de la 1ère colonne puis aller chercher cette valeur dans la 1ère colonne du fichier A
Voici le code
-------------------------------
Sub Macro1()
Dim c As Variant
Dim zeValeur, ficA, ficB As String
ficA = ThisWorkbook.Name
Workbooks.Open Application.GetOpenFilename("Sélection fichier B (*.xls), *.xls")
Range("A2").Select ' on se positionne en A2
Do While Application.ActiveCell <> "" ' tant que la cellule du fichier B n'est pas vide
zeValeur = Selection.Value ' valeur à chercher
Workbooks(1).Activate ' pointe sur fichier A
With Worksheets(1).Columns("A:A") ' recherche sur la colonne A
Set c = Selection.Find(zeValeur, _
After:=ActiveCell, _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not c Is Nothing Then
If ActiveCell.Value = zeValeur Then
MsgBox "Trouvé " & zeValeur & " dans cellule " & c.FormulaR1C1
End If
Else
MsgBox "Traitement à faire pour pas trouvé " & zeValeur
End If
End With
Workbooks(2).Activate ' on repointe vers fichier controle
ActiveCell.Offset(1, 0).Select ' va vers ligne suivante
Loop
End Sub
-------------------------------------
Cela ne marche pas !
merci aux gourous de m'indiquer où se trouvent les erreurs.
J'ai un problème avec l'usage de la fonction Find entre 2 fichiers.
La macro est enregistrée dans le fichier A
Je voudrai effectuer une boucle sur un fichier B en récupérant une valeur de la 1ère colonne puis aller chercher cette valeur dans la 1ère colonne du fichier A
Voici le code
-------------------------------
Sub Macro1()
Dim c As Variant
Dim zeValeur, ficA, ficB As String
ficA = ThisWorkbook.Name
Workbooks.Open Application.GetOpenFilename("Sélection fichier B (*.xls), *.xls")
Range("A2").Select ' on se positionne en A2
Do While Application.ActiveCell <> "" ' tant que la cellule du fichier B n'est pas vide
zeValeur = Selection.Value ' valeur à chercher
Workbooks(1).Activate ' pointe sur fichier A
With Worksheets(1).Columns("A:A") ' recherche sur la colonne A
Set c = Selection.Find(zeValeur, _
After:=ActiveCell, _
LookIn:=xlValues, _
LookAt:=xlPart, _
SearchOrder:=xlByRows, _
SearchDirection:=xlNext, _
MatchCase:=False)
If Not c Is Nothing Then
If ActiveCell.Value = zeValeur Then
MsgBox "Trouvé " & zeValeur & " dans cellule " & c.FormulaR1C1
End If
Else
MsgBox "Traitement à faire pour pas trouvé " & zeValeur
End If
End With
Workbooks(2).Activate ' on repointe vers fichier controle
ActiveCell.Offset(1, 0).Select ' va vers ligne suivante
Loop
End Sub
-------------------------------------
Cela ne marche pas !
merci aux gourous de m'indiquer où se trouvent les erreurs.