Mettre une cellule dans une adresse

Bonjour,

Je vous ecris aujourd'hui car je suis bloqué pour une opération.

Je dispose d'un dossier avec 400 classeur de même format

Je dois faire un tableau récapitulatif allant chercher a chaque fois la même information.

Après avoir bien progresser ( j'ai mis tout les noms ) je cherche à aller plus vite.

Les dossier étant sauvegarder sous le nom de que j'ai déja rentré j'essais donc de faire ceci:

Je fait égale au niveau de la première ligne, vais chercher l'information dans mon classeur et valide.

Je me suis dit que si j'arrivais a remplacer le nom du fichier dans ma formule c'est a dire par exemple: ='A:\OLIVIER\\[Machin bidule.xls]CALCUL MONTANT A PAYER'!$F$66 Par ='A:\OLIVIER\\[B1.xls]CALCUL MONTANT A PAYER'!$F$66 je n'aurais plus qu'a faire glisser ma formule et tout se ferra automatiquement.

Seulement, cela ne fonctionne pas, je ne peux pas remplir mon adresse par le contenu d'une cellule. Pourtant, quand je change le nom manuellement cela fonctionne très bien.

Savez-vous comment je peux ou dois faire ?

J'espère ne pas avoir été trop brouillon, et je met en fichier joints un bref exemple pour que vous compreniez un peu mieux.

Bien cordialement,

darkad

14exemple.xls (13.50 Ko)

Salut,

J'ai cette solution Macro (le glisser ne fonctionne pas sur ce genre de cas, a moins que l'on me prouve le contraire ):

Instruction :

Dans un nouveau fichier Excel

Faire ALT+F11 (touche clavier)

Dans la partie de gauche de l'editeur VBA qui vient de s'ouvrir, double cliquer sur Feuil1 (premier onlget par defaut)

Dans la partie droite, coller le code ci dessous

Attention, il faut modifier les parametres

repertoire = "C:\Documents and Settings\7001107\Bureau\EXCEL\fusion\"

nomonglet = "CALCUL MONTANT A PAYER"

Adresse = "$F$66"

Sub macro_remplirliste()
Dim repertoire, nomonglet, Adresse As String
Dim objfso, objdossier
Dim i As Double

' A MODIFIER SI NECESSAIRE
'pas oublier le dernier \ a la fin
repertoire = "C:\Documents and Settings\7001107\Bureau\EXCEL\fusion\" 
nomonglet = "CALCUL MONTANT A PAYER"
Adresse = "$F$66"

Set objfso = CreateObject("Scripting.FileSystemObject")
Set objdossier = objfso.GetFolder(repertoire) 'On ouvre le repertoire source

'On peuple les noms de fichier dans le tableau Colonne A
'On commence a la ligne 2
i = 2
Cells(1, 1) = "Nom Fichier"
  If (objdossier.Files.Count > 0) Then  'Si il y a des fichiers
     For Each objFichier In objdossier.Files
        If (InStr(1, objFichier.Name, ".xls", 1) > 0) Then  'Si il y a des fichiers de type Excel
            Range("A" & i) = Left(objFichier.Name, Len(objFichier.Name) - 4)
            Range("B" & i).Formula = "='" & repertoire & "[" & objFichier.Name & "]" & nomonglet & "'!" & Adresse
            i = i + 1
        End If
     Next
   End If
End Sub

Normalement cela va te construire ta liste de fichier ainsi que tes formules.

Damien

Cela fonctionne parfaitement,

je te remercie très sincerement.

darkad

Rechercher des sujets similaires à "mettre adresse"