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
- Messages
- 358
- Excel
- 2003-2007 FR
- Inscrit
- 02/08/2011
- Emploi
- Consultant Test Performance / Audit
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 SubNormalement cela va te construire ta liste de fichier ainsi que tes formules.
Damien
Cela fonctionne parfaitement,
je te remercie très sincerement.
darkad