Bonjour,
Merci cela fonctionne,
Voici la macro complète qui me permet changer de fichier source suivant le mois indiqué en B3 et C3. Mes fichiers sources vont de janvier à décembre ainsi en sélectionnant le mois cela va chercher les informations dans le mois voulu. Toutefois, lorsque je change le mois en B3 ou C3, cela me demande de valider le fichier à ouvrir autant de fois que j'ai de formules. Ne serait pas possible dans la macro d'avoir un code qui forcerait à faire qu'une fois la validation du fichier ?
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count > 1 Then Exit Sub
If Target.Address = "$B$3" Then
derligne = Cells(Rows.Count, 1).End(xlUp).Row
Set plage = Range("B4:B8,B10:B12,B14:B16,B18:B22,B24:B27")
If Target = "" Then plage.Value = "": Exit Sub
If [A1] = "" Then MsgBox "Renseigner A1": plage.Value = "": Exit Sub
chemin = "C:\Users\Jacky\Desktop\PROD MOIS\"
Application.EnableEvents = False
plage.FormulaLocal = "=INDEX('" & chemin & "[" & [B3] & ".xlsx]Objectifs'!$A$1:$GR$290;EQUIV(A4;'" & chemin & "[" & [B3] & ".xlsx]Objectifs'!$A:$A;0);EQUIV(B$1 ; '" & chemin & "[" & [B3] & ".xlsx]Objectifs'!$1:$1;0))"
Application.EnableEvents = True
End If
If Target.Count > 1 Then Exit Sub
If Target.Address = "$C$3" Then
derligne = Cells(Rows.Count, 1).End(xlUp).Row
Set plage = Range("C4:C8,C10:C12,C14:C16,C18:C22,C24:C27")
If Target = "" Then plage.Value = "": Exit Sub
If [A1] = "" Then MsgBox "Renseigner A1": plage.Value = "": Exit Sub
chemin = "C:\Users\Jacky\Desktop\PROD MOIS\"
Application.EnableEvents = False
plage.FormulaLocal = "=INDEX('" & chemin & "[" & [C3] & ".xlsx]Objectifs'!$A$1:$GR$290;EQUIV(A4;'" & chemin & "[" & [C3] & ".xlsx]Objectifs'!$A:$A;0);EQUIV(B$1 ; '" & chemin & "[" & [B3] & ".xlsx]Objectifs'!$1:$1;0))"
Application.EnableEvents = True
End If
End Sub