Formule avec chemin de fichier

bonjour,

je suis nouveau sur ce site et je rencontre un problème avec une formule.

dans un fichier de synthèse, je récupère plusieurs valeurs dans un fichier, dans des onglets différents

je dois re-créer la manip pour chaque nouvelle ligne que je créé, et cela pour toute les valeurs que j'appelle.

exemple: dans mon fichier de synthèse je veux la valeur du fichier toto (C:\Users\Desktop\toto.xlsm) dans l'onglet Feuil1 en cellule A3

moi je fais ( 'C:\Users\Desktop\[toto.xlsm]Feuil1'!$A$3) et j'ai ma valeur, mais n'y a t-il pas un moyen de référencé le chemin dans une cellule, l'onglet et la cellule dans une autre ?

j'aimerai tirer la formule versle bas ou par la droite sans avoir à changer a chaque mon chemin de fichier / l'onglet ou la cellule.

J'ai mis un exemple si jamais c'est pas clair !!

Merci à ceux qui accepterons ce challenge.

Bonsoir,

Personne a une idée ?

De mon coté j'ai essayé de progressé sur ce sujet mais je bloque toujours.

J'ai essayé les fonction indirect --> error #ref

j'ai téléchargé une macro valcell (voir en dessous) --> ne marche que si mes fichier sous sur un local

(mes documents sont sur un SharePoint http://..... et là la formule ne comprend pas.

j'ai installé indirect.ext mais je ne sais pas si cela fonctionne, j'ai pourtant suivit le tutoriel d'installation.

des idées ? formule ou macro peu importe tant que le résultat est là.

macro valcell, peut être pour les connaisseur de cette librairie on peut rajouter du code qui me permet d'aller cherché mes valeurs sur un sharePoint.:

Function ValCell(ByVal File As String, _
      ByVal Feuille As String, ByVal Rg As String)
 'ajouter une référence
 'Microsoft ActiveX Data Objects 2.8 Library
 Dim Rst As New ADODB.Recordset
 Dim Conn As ADODB.Connection
 Dim Requete As String
 On Error Resume Next
 Rg = Rg & ":" & Rg
 Requete = "SELECT * FROM [" & Feuille & "$" & Rg & "]"
 Set Conn = New ADODB.Connection
 If Val(Application.Version) > 11 Then
     Conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;" & _
             "Data Source=" & File & ";" & _
         "Extended Properties=""Excel 12.0;HDR=NO;IMEX=1;"";"
 Else
     Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
         "Data Source=" & File & ";" & _
         "Extended Properties=""Excel 8.0;HDR=NO;IMEX=1;"";"
 End If
 Rst.Open Requete, Conn, adOpenStatic, adLockOptimistic
 If Rst.RecordCount > 0 Then
 ValCell = Rst(0).Value
 Else
     ValCell = "Pas trouvé"
 End If
 Rst.Close: Cnn.Quit
 Set Rst = Nothing: Set Cnn = Nothing
 End Function
 

Merci d'avance.

SALUT

COMME DIT EXL " L'exemple sera plus compréhensible "

SVP vous m'expliquer avec un exemple et par des valeur vrais

voici des exemples

12toto.xlsm (7.60 Ko)

quelqu'un peut m'aider ?

merci

SALUT vegas64

NOUS TROUVERONS UNE SOLUTION MAIS DONNEZ MOI UN PEUT DE TEMPS

MERCI

Bonjour,

je suis passé en macro, j'arrive à lire 1 cellule.

quelqu'un peut m'aider pour faire une boucle de lecture ligne par ligne ?

mon fichier en pièce jointe pour vous aider .

Merci

SALUT

JE COMPREN PAS CE VOUS VOULER VRAIMENT

UN EXEMPLE BIEN CLAAAAIR SVP

as tu ouvert mon fichier ?

j'aimerai une macro qui me remplisse toutes les case jaune.

variable fixe par ligne:

Colonne A=chemin

colonneB=fichier

ligne 4 et ligne 3 font référence à l'onglet et la cellule référence.

je voudrais une macro qui se déplace de C6 à F6 en recherchantles variable de col A, col B, ligne 4, ligne3.

puis ligne 7 .... jusqu'a ligne X

Voici ceux à quoi j'aimerai arrivai.

Sub LitClasseurFermé()

    Dim i As Integer
    Dim j As Integer

    i = 7 'ligne
    j = 3 'colonne

    Do
        Do

            ChampOuCopier = Range("i;j")    '   à partir de la cellule Range("C7")
            Chemin = Range("i;1")           '   prend en reference le chemin en Range("A7")
            Fichier = Range("i;2") & ".XLSm" '  prend en reference le fichier Range("B7") & ".XLSm"
            onglet = Range("4;J")           'prend en reference l'onglet en Range("C4")
            ChampAlire = Range("3;j")       'prend en reference la cellule à copié en Range("C3")
            LitChamp ChampOuCopier, Chemin, Fichier, onglet, ChampAlire

        j = j + 1 'incrémenter la colonne
        Loop While Cells("j;1") = ""

    i = i + 1 incrémenter la ligne
    Loop While Cells("1;i") = ""

End Sub

Sub LitChamp(ChampOuCopier, Chemin, Fichier, onglet, ChampAlire)
   Range(ChampOuCopier).FormulaArray = "='" & Chemin & "\[" & Fichier & "]" & onglet & "'!" & ChampAlire
   Range(ChampOuCopier) = Range(ChampOuCopier).Value
End Sub
Rechercher des sujets similaires à "formule chemin fichier"