![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
bonjour à tous
après une lecture assidue de la macro excel de Michel sur le site, je me permets de vous poser une question complémentaire à savoir : je veux faire la même chose, donc la macro me va bien sauf que j'ai par exemple : une donnée sur chaque feuille en c4 que je veux récupérer en colonne B1, puis B2....etc une autre donnée en B3 que je veux récupérer en colonne C1, puis C2.... etc étant nul en macro excel, merci de vos éclaircissements ... merci d'avance ! la macro de base de Michel, qui ne récupère que cellule A1 : Sub chercheFichiersFermesV03() Dim X As Integer, nbFichiers As Integer, Y As Integer Dim Tableau() As String Dim Direction As String Application.ScreenUpdating = False Direction = Dir("C:\Documents and Settings\michel\dossier\general\excel\*.xls") 'adapter chemin repertoire Do While Len(Direction) > 0 nbFichiers = nbFichiers + 1 ReDim Preserve Tableau(1 To nbFichiers) Tableau(nbFichiers) = Direction Direction = Dir() Loop If nbFichiers > 0 Then For X = 1 To nbFichiers If Tableau(X) <> ThisWorkbook.Name Then Y = Y + 1 With ActiveSheet.Cells(Y, 1) .Formula = "='C:\Documents and Settings\michel\dossier\general\excel\[" & Tableau(X) & "]Feuil1" & "'!" & "A1" .Value = .Value End With End If Next X End If Application.ScreenUpdating = True End Sub |
| ANNONCES | |||
|
|
|
|
#2 (permalink) |
|
Guest
Messages: n/a
|
bonjour Jph
j'espere que cette adaptation pourra t'aider ( j'ai supposé que toutes les données récupérées dans plusieurs classeurs s'affichaient à la suite dans les colonne B et C ) dans cet exemple les onglets de classuers fermés doivent imperativement etre nommés Feuil1 , Feuil2 et Feuil3 Sub chercheFichiersFermesV04() Dim X As Integer, nbFichiers As Integer, Y As Integer Dim j As Byte Dim Tableau() As String Dim Direction As String Application.ScreenUpdating = False Direction = Dir("C:\Documents and Settings\michel\dossier\*.xls") 'adapter chemin repertoire Do While Len(Direction) > 0 nbFichiers = nbFichiers + 1 ReDim Preserve Tableau(1 To nbFichiers) Tableau(nbFichiers) = Direction Direction = Dir() Loop If nbFichiers > 0 Then For X = 1 To nbFichiers For j = 1 To 3 'les noms de feuilles doivent imperativement etre du stye Feuil1,Feuil2...) If Tableau(X) <> ThisWorkbook.Name Then Y = Y + 1 With ActiveSheet.Cells(Y, 2) .Formula = "='C:\Documents and Settings\michel\dossier\[" & Tableau(X) & "]Feuil" & j & "'!" & "C4" .Value = .Value End With With ActiveSheet.Cells(Y, 3) .Formula = "='C:\Documents and Settings\michel\dossier\[" & Tableau(X) & "]Feuil" & j & "'!" & "B3" .Value = .Value End With End If Next j Next X End If Application.ScreenUpdating = True End Sub bon apres midi MichelXld |
|
|
#3 (permalink) |
|
Guest
Messages: n/a
|
Bonjour Michel
avant d'essayer cette macro dont je te remercie... pourquoi faut-il que chaque feuille est un N° different ? la boucle qui incrémente de fichier ne permet-elle pas de distinguer la feuille1 du fichier 100.xls de celle (N°1 aussi) du fichier 101.xls ....? merci de ta réponse! jean philippe |
|
|
#4 (permalink) |
|
Guest
Messages: n/a
|
rebonjour jean philippe
quand j'ai lu ...une donnée sur chaque feuille en c4... dans ton premier message , j'ai interpreté ( sans doute à tort ) que tu souhaitais récupérer des informations dans plusieurs onglets d'un meme classeur ... bonne soiree MichelXld |
|
|
#5 (permalink) |
|
Guest
Messages: n/a
|
rebonjour Michel,
alors là je ne comprend plus...ca ne me donne plus les données en cellule A??? par contre je récupère les infos des autres cellules b3 et c4 pour l'exemple... toutes les 3 lignes ??? j'ai inséré dans ta dernière macro : With ActiveSheet.Cells(Y, 1) .Formula = "='C:\Documents and Settings\michel\dossier\general\excel\[" & Tableau(X) & "]Feuil1" & "'!" & "A1" .Value = .Value End With au départ j'ai plusieurs feuilles N° 1 qui ont chacune une info dans A1, puis B3 et c4 par exemple. mais je veux que la synthese "mette" les infos des c4 en colonne B et celles des B3 en colonne C.. je dois oublier quelquechose... mais quoi ? cela t'inspire ?? |
|
|
#6 (permalink) |
|
Guest
Messages: n/a
|
rebonsoir Michel,
après quelques tatonnements.... j'ai enfin réussi à obtenir le résulat souhaité ! j'ai supprimé la boucle j : for 1 to 3 relatif au feuille, et j'ai supprimé la réf au N) de feuille.... et c'est bon ! en tout cas merci beaucoup de ton aide. JP |
| ANNONCES | |
| Liens sociaux |
| Outils de la discussion | |
|
|