Chercher une valeur dans un fichier dont le chemin d'accès est dynamique

Bonjour

vous trouverez ci joint 4 fichiers qui sont construits de la meme maniere.

Si l'on prend uniquement le fichier Octobre 2019, la cellule H14 reprend la valeur de la cellule B12

les données des cellules G3 a G14 changent en fonction de la cellule A1 & B1.

je souhaiterais que la cellule H13 se remplisse automatique c est a dire qu elle aille chercher la valeur de la cellule B12 du fichier XL qui porte le nom de la cellule G13.

dans le cas du fichier Octobre 2019, la cellule H13 devrait trouver la valeur de la cellule B12 du fichier Septembre 2019.

la cellule H12 devrait trouver la valeur de la cellule B12 du fichier Août 2019......

pouvez vous m'aider avec le code VBA ? merci par avance

5juillet-2019.xlsx (10.98 Ko)
4aout-2019.xlsx (10.97 Ko)
8octobre-2019.xlsx (10.95 Ko)

Salut ben68500,

je pars du fait que tous les fichiers se trouvent sous le même dossier!!

Macro à tester dans le fichier "Octobre 2019.xlsx"

Sub test()
Dim i As Integer
Dim Fichier as String
For i = 3 To 13
Fichier = Range("G" & i).Value & ".xlsx"
Range("H" & i).Formula = "='[" & Fichier & "]Feuil1'!$B$12"
Next i
End Sub

@++

bonjour

merci pour ta réponse mais le systeme bloque sur :

Dim Fichier as

apparemment il y a une erreur de compilation et il attend 'New ou nom de type'

peux tu m aider ? merci

Sorry oui en tapant le code j'ai dû louper String

Sorry oui en tapant le code j'ai dû louper String

Ce serait dommage de louper un string

Sorry oui en tapant le code j'ai dû louper String

Ce serait dommage de louper un string

Re,

nouvelle version qui fonctionne automatiqement à chaque fois les céllule A1 et B1 changent.

Code à insérer dans le module de la feuille1

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim KeyCells As Range
    Dim i As Integer
    Dim Fichier As String

    Set KeyCells = Range("A1:B1")

    If Not Application.Intersect(KeyCells, Range(Target.Address)) Is Nothing Then
        ChDir (ActiveWorkbook.Path)
        For i = 3 To 13
            Fichier = Range("G" & i).Value & ".xlsx"
            If FileExists(Fichier) Then
                Range("H" & i).Formula = "='[" & Fichier & "]Feuil1'!$B$12"
            Else
                Range("H" & i).Value = "Pas de fichier"
            End If
        Next i
    End If
End Sub

Function FileExists(FilePath As String) As Boolean
Dim TestStr As String
    TestStr = ""
    On Error Resume Next
    TestStr = Dir(FilePath)
    On Error GoTo 0
    If TestStr = "" Then
        FileExists = False
    Else
        FileExists = True
    End If
End Function

Bonne nuit

Bonjour

merci pour tout

ca marche

Salut ben68500,

je pars du fait que tous les fichiers se trouvent sous le même dossier!!

Macro à tester dans le fichier "Octobre 2019.xlsx"

Sub test()
Dim i As Integer
Dim Fichier as String
For i = 3 To 13
Fichier = Range("G" & i).Value & ".xlsx"
Range("H" & i).Formula = "='[" & Fichier & "]Feuil1'!$B$12"
Next i
End Sub

@++

Rechercher des sujets similaires à "chercher valeur fichier chemin acces dynamique"