Excel Downloads
Forum

Précédent   Excel Downloads Forums > Archives > Forum Excel Downloads - Archives


 
 
LinkBack Outils de la discussion
Vieux 08/01/2005, 11h18   #1 (permalink)
jph
Guest
 
Messages: n/a
Par défaut regrouper des valeurs depuis plusieurs feuilles

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
Vieux 08/01/2005, 17h33   #2 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: regrouper des valeurs depuis plusieurs feuilles

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
 
Vieux 08/01/2005, 17h58   #3 (permalink)
jph
Guest
 
Messages: n/a
Par défaut Re: regrouper des valeurs depuis plusieurs feuilles

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
 
Vieux 08/01/2005, 18h13   #4 (permalink)
michel
Guest
 
Messages: n/a
Par défaut Re: regrouper des valeurs depuis plusieurs feuilles

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
 
Vieux 08/01/2005, 18h35   #5 (permalink)
jph
Guest
 
Messages: n/a
Par défaut Re: regrouper des valeurs depuis plusieurs feuilles

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 ??
 
Vieux 08/01/2005, 19h06   #6 (permalink)
jph
Guest
 
Messages: n/a
Par défaut Re: regrouper des valeurs depuis plusieurs feuilles

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

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 21h18.


(C) 2006 Excel Downloads