Bonjour,
malgré avoir consulté tous les forums, ma formulation ne fonctionne pas.
Lorsqu'une cellule de la colonne B est modifiée, une macro doit se déclencher pour aller chercher la valeur saisie en colonne 3 de
la feuille FUSION dans un autre classeur fermé.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim NoLig As String, NoCol As String, Valeur As Integer
Dim NomFichier As String, NomChemin As String
Dim ValeurZ1 As String
Set KeyCells = Range("B2:B1500")
NomChemin = "C:\Gestion_Commerciale\A_Magasins\"
NomFichier = "REFERENCE DES MAGASINS.xlsx"
If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
MsgBox "La cellule " & Target.Address & " a été modifiée."
Valeur = Target.Value
NoLig = Target.Row
NoCol = Target.Column
'MsgBox "Valeur " & Valeur
'MsgBox "Ligne " & NoLig
'MsgBox "Colonne " & NoCol
If Dir(NomChemin & "\" & NomFichier) <> "" Then
Range(ValeurZ1).Formula = "=VLOOKUP(Cells(NoLig,NoCol)," & NomChemin & "[" & NomFichier & "]FUSION!$B$2:$AE$3000,3,false)"
Else
MsgBox "fichier inconnu"
End If
End If
End Sub
Avez-vous une idée de mes erreurs de code ?
NB : en saisissant la fonction RechercheV dans la cellule de réception, cela fonctionne, mais je veux passer par une macro pour
gérer le fait que RechercheV me renvoie N/A.
Cordialement et merci
Dadu35