Accueil > Forum > > > > macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles
macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles
mardi 2 mai 2006 à 20:36:43 |
macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles

pierre9393
|
Bonjour,
Je suis stagiaire, et je galère:
J'ai des données de 4 années, avec une feuille excel par jour... soit 365 fichiers * 4.
Chaque fichier porte comme nom la date (important pour la suite), et
sur chaque fichier, une seule feuille m'intéresse, classiquement
appelée feuille 1, plus exactement le contenu de huit cellules
disposées en rectangle (genre imaginons: A1-B1-C1-D1-A2-B2-C2-D2)
Dans ces cases, il y a des numéros, et c'est la somme qui m'intéresse,
mais bon, si au moins je peux récuper les 8 cellules sur une seule
ligne, c'est deja pas mal, la somme je peux la faire apres.
En gros, j'aimerais obtenir au final un fichier excel, avec:
le nom du fichier qui a été ouvert, et la sommes des 8 cellules mentionnées (ou bien les 8 cellules remise sur une ligne).
Est-ce possible de tout obtenir par une seule macro ? (les fichiers ont
tous un nom unique "Bilan_Journalier_Usine_01_03_2003" seule la date
change. Tous les fichiers du même mois sont dans le meme repertoire,
les meme repertoire de la meme année sont dans un même repertoire.
J'ai chercher sur le forum, j'ai trouvé des solutions approchantes,
genre chercher le contenue d'une cellule d'autres fichiers, mais il
n'etait pas question de copier le nom du fichier en face, et la c'est
de somme dont il s'agit.
Je serais tres content que vous puissiez m'aider, je n'ai aucune connaissance en programmation (chuis plutot chimiste)...
Merci beaucoup, je suis a votre disposition pour plus d'infos.
Bonne soirée
|
|
mardi 2 mai 2006 à 21:06:25 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles

pierre9393
|
Re
En fait, après relecture, j'ai besoin non pas d'obtenir la somme, mais les 12 cellules (3*4) sur une même ligne.
Je suis désolé pour le petit changement de dernière minute
|
|
mardi 2 mai 2006 à 22:53:40 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles

JIPERE
|
Ouvrez un XLS à nommer AnMOIS.XLS
par Menu: Outils, Macros, macros
Créer une macro (2 3 mouvements) et vous arrétez l'enreg.
par Menu: Outils, Macros, macros => Macro1 [Modifier]
vous copier ceci (à la place de l'enreg bidon):
Sub Macro1()
===================================================
' Mettre le bon chemin
Dim CheAn, Chemois, Fichxl, T_M(12) As String
Dim T_An(4), X, M, Lig As Integer
' Mise en place des noms dossiers An dans X postes
T_An(1) = 2003: T_An(2) = 2004: T_An(3) = 2005: T_An(4) = 2006
' Tableau des dossiers Mois (juste l'élément qui varie)
T_M(1) = "Jan": T_M(2) = "Feb": T_M(3) = "Mar": T_M(4) = "Avr":
T_M(5) = "MAI": T_M(6) = "JUN": T_M(7) = "JUI": T_M(8) = "AOU":
T_M(9) = "SEP": T_M(10) = "OCT": T_M(11) = "NOV": T_M(12) = "DEC":
For X = 1 To 4 ' On boucle 4 fois pour 4 ans
' on charge le répertoire d'1 année T_An(X) dans la variable Chemxl
CheAn = "C:\Documents and Settings\JPIERRE\vb6\" & T_An(X)
For M = 1 To 12 ' on va sur 12 dossiers Mois
Chemois = CheAn & "\Mois_" & T_M(M)
' Cette commande met le nom du 1er .XLS du dossier c:\an\mois\...
Fichxl = Dir(Chemois & "\*.XLS")
Do While Fichxl <> "" ' si plus de fichier => fin
Workbooks.Open Filename:= _
Chemois & "\" & Fichxl
'"C:\Documents and Settings\JPIERRE\Mes documents\Excel\LEVIER1.xls"
Range("D16:G16").Select ' on select les cellules
Selection.Copy ' on le copie
Windows("Anmois.xls").Activate ' on va sur l'XL centralisateur
Lig = Lig + 1
Range("A" & Lig).Select ' Col A ligne Lig, chemin & fichier
ActiveCell.Value = Chemois & "\" & Fichxl
Range("B" & Lig).Select ' Col B
ActiveSheet.Paste ' on colle les cellules
Windows(Fichxl).Activate ' on revient sur le fcihier lu
ActiveWorkbook.Close ' pour le fermer
Fichxl = Dir ' nom Fichier suivant
Loop
Next M
Next X
======================================================
End sub
Corriger les constantes Chemin, et par F8 faire du pas à pas
pour comprendre et modifier la macro si nécessaire.
Maintenant mon Mail est jeanpierre.rougier@wanadoo.fr
si vous voulez je vous envoie le xl AnMois.XLS
qu'il faudra quand-même modifer pour l'adapter à vos chemins.
Voilà.
|
|
mardi 2 mai 2006 à 22:53:44 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles

JIPERE
|
Ouvrez un XLS à nommer AnMOIS.XLS
par Menu: Outils, Macros, macros
Créer une macro (2 3 mouvements) et vous arrétez l'enreg.
par Menu: Outils, Macros, macros => Macro1 [Modifier]
vous copier ceci (à la place de l'enreg bidon):
Sub Macro1()
===================================================
' Mettre le bon chemin
Dim CheAn, Chemois, Fichxl, T_M(12) As String
Dim T_An(4), X, M, Lig As Integer
' Mise en place des noms dossiers An dans X postes
T_An(1) = 2003: T_An(2) = 2004: T_An(3) = 2005: T_An(4) = 2006
' Tableau des dossiers Mois (juste l'élément qui varie)
T_M(1) = "Jan": T_M(2) = "Feb": T_M(3) = "Mar": T_M(4) = "Avr":
T_M(5) = "MAI": T_M(6) = "JUN": T_M(7) = "JUI": T_M(8) = "AOU":
T_M(9) = "SEP": T_M(10) = "OCT": T_M(11) = "NOV": T_M(12) = "DEC":
For X = 1 To 4 ' On boucle 4 fois pour 4 ans
' on charge le répertoire d'1 année T_An(X) dans la variable Chemxl
CheAn = "C:\Documents and Settings\JPIERRE\vb6\" & T_An(X)
For M = 1 To 12 ' on va sur 12 dossiers Mois
Chemois = CheAn & "\Mois_" & T_M(M)
' Cette commande met le nom du 1er .XLS du dossier c:\an\mois\...
Fichxl = Dir(Chemois & "\*.XLS")
Do While Fichxl <> "" ' si plus de fichier => fin
Workbooks.Open Filename:= _
Chemois & "\" & Fichxl
'"C:\Documents and Settings\JPIERRE\Mes documents\Excel\LEVIER1.xls"
Range("D16:G16").Select ' on select les cellules
Selection.Copy ' on le copie
Windows("Anmois.xls").Activate ' on va sur l'XL centralisateur
Lig = Lig + 1
Range("A" & Lig).Select ' Col A ligne Lig, chemin & fichier
ActiveCell.Value = Chemois & "\" & Fichxl
Range("B" & Lig).Select ' Col B
ActiveSheet.Paste ' on colle les cellules
Windows(Fichxl).Activate ' on revient sur le fcihier lu
ActiveWorkbook.Close ' pour le fermer
Fichxl = Dir ' nom Fichier suivant
Loop
Next M
Next X
======================================================
End sub
Corriger les constantes Chemin, et par F8 faire du pas à pas
pour comprendre et modifier la macro si nécessaire.
Maintenant mon Mail est jeanpierre.rougier@wanadoo.fr
si vous voulez je vous envoie le xl AnMois.XLS
qu'il faudra quand-même modifer pour l'adapter à vos chemins.
Voilà.
|
|
mercredi 3 mai 2006 à 08:17:22 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles

pierre9393
|
Merci beaucoup
Je vais tester ca au travail aujourd'hui. Si besoin est, je peux mettre
tous les fichier (puisque chaque nom est unique) dans un seul et meme
repertoire, ca permettrais surement de simplifier la macro.
J'essaye deja avec votre solution. Je vous remercie
|
|
mercredi 3 mai 2006 à 22:36:04 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles

pierre9393
|
Réponse acceptée !
J'ai réecrit ce que vous m'avez donné, sans succes (il ne se passe
rien, aucun message d'erreur, comme si la macro n'était pas du tout
exécutée.
J'ai corrigé un peu ce que vous m'avez donné car en fait la structure des répertoire est celle ci:
par exemple: le chemin vers un fichier de janvier de l'année 2003:
E:\CD\Bilans_Journaliers_Choisy\2003\2003_01
en fait on répete l'année, j'ai donc corriger dans la macro
Ensuite, les cellules qui nous interessent sont les BK45, BL45, BM45
d'une part, BK46, BL46, BM46 de l'autre, BK47.... bref jusqu a 48 soit
12 cellules
Ces cellules sont sur la feuille nommée Présentation (il y a plein de feuilles par classeur).
Cependant rien n'y fait, ce la ne fonctionne pas.Rien ne se passe quand
j'exécute la macro. Faut il placer le repertoire Anmois.xls a un
endroit particulier ?
Ca m'embete, car je vais devoir rendre un rapport d'ici peu. Pourriez-vous m'aider ?
|
|
jeudi 4 mai 2006 à 09:54:10 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles

JIPERE
|
J'ai modifier un peu la macro, mais il est essentielle de analyser en pas à pas
par Menu: Outils, Macros, macros => Macro1 [Modifier], F8
et de voir (via souris) le contenu des variables pour corriger si nécessaire
et adapter la macro ...
==========================
Sub Macro1()
'
' Macro1 Macro
' Macro enregistrée le 02/05/2006 par ROUGIER Jean-Pierre
' Visualiser et LANCER LA MACRO EN PAS a PAS (F8),
' et promener la souris sur les variables
' pour en voir le contenu, et modifier si nécessaire ...
' Mettre le bon chemin
Dim CheAn, Chemois, Fichxl, T_M(12) As String
Dim T_An(4), X, M, Lig As Integer
' Mise en place des noms dossiers An dans X postes
T_An(1) = 2003: T_An(2) = 2004: T_An(3) = 2005: T_An(4) = 2006
' Vous pouvez traiter An par an sur 4 feuilles et regrouper (copier/coller)
' les 4 feuilles en 1
' Tableau des dossiers Mois (juste l'élément qui varie)
T_M(1) = "01": T_M(2) = "02": T_M(3) = "03": T_M(4) = "04":
T_M(5) = "05": T_M(6) = "06": T_M(7) = "07": T_M(8) = "08":
T_M(9) = "09": T_M(10) = "10": T_M(11) = "11": T_M(12) = "12":
For X = 1 To 4 ' On boucle 4 fois pour 4 ans
' on charge le répertoire d'1 année T_An(X) dans la variable Chemxl
CheAn = "E:\CD\Bilans_Journaliers_Choisy\" & T_An(X) & "\" & T_An(X) & "_"
For M = 1 To 12 ' on va sur 12 dossiers Mois
' en pas à pas, on doit lire le chemin exact du dossier dans chemois
Chemois = CheAn & "\" & T_M(M)
' la commande DIR met le nom du 1er .XLS du dossier chemois\... dans FichXL
Fichxl = Dir(Chemois & "\*.XLS")
Do While Fichxl <> "" ' si plus de fichier => fin
Workbooks.Open Filename:= _
Chemois & "\" & Fichxl
'"C:\Documents and Settings\JPIERRE\Mes documents\Excel\LEVIER1.xls"
'BK45, BL45, BM45
Range("BK45:BM45").Select ' on select/copy 3 cellules lig.45
Selection.Copy
Windows("Anmois.xls").Activate ' on va sur l'XL central à la bonne ligne
Lig = Lig + 1 ' 1 ligne 12 cellules
Range("A" & Lig).Select ' Col A ligne Lig, chemin & fichier
ActiveCell.Value = Chemois & "\" & Fichxl
Range("B" & Lig).Select ' Col B lig.45
ActiveSheet.Paste
Windows(Fichxl).Activate ' on va copier la lig.46
Range("BK46:BM46").Select
Selection.Copy
Windows("Anmois.xls").Activate ' on va sur l'XL central Col E ligne Lig46
Range("E" & Lig).Select
ActiveSheet.Paste
Windows(Fichxl).Activate ' on va copier la lig.47
Range("BK47:BM47").Select
Selection.Copy
Windows("Anmois.xls").Activate ' on va sur l'XL central Col H ligne Lig47
Range("H" & Lig).Select
ActiveSheet.Paste
Windows(Fichxl).Activate ' on va copier la lig.48
Range("BK48:BM48").Select
Selection.Copy
Windows("Anmois.xls").Activate ' on va sur l'XL central Col H ligne Lig48
Range("K" & Lig).Select
ActiveSheet.Paste
Windows(Fichxl).Activate ' on revient sur le fcihier lu
ActiveWorkbook.Close ' pour le fermer
Fichxl = Dir ' nom Fichier suivant
Loop
Next M
' Sauvegarde du tableau chaque fin de dossier mois
' Remplacer le chemin "C:\Documents and Settings\Anmois.xls" par le bon.
ActiveWorkbook.SaveAs Filename:="C:\Documents and Settings\Anmois.xls", _
FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
ReadOnlyRecommended:=False, CreateBackup:=False
Next X
' en pas à pas, on peut passer de la macro à la feuille et suivre le travail
' Quand tout va bien, F5 exécute sans pas à pas...
End Sub
|
|
jeudi 4 mai 2006 à 09:57:39 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles
|
jeudi 4 mai 2006 à 09:57:57 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles
|
jeudi 4 mai 2006 à 09:57:59 |
Re : macro excel pour récupérer le contenu de plusieurs cellules d'autres feuilles
|
Cette discussion est classée dans : fichier, excel, fichiers, cellules, seule
Répondre à ce message
Sujets en rapport avec ce message
Copier deux cellules dans une cellule EXCEL en vba [ par metek ]
Bonjour!J'ai quelques soucis en VBA avec une macro!Je dispose d'un fichier excel que je dois retraité afin d'obtenir un tableau classé!Je souhaite en
compteur sur plusieurs fichier et plusieurs onglets [ par funkay91 ]
Et oui encore moiJe cherche des commandes qui pourront me permettre de lancé une recherche. Sur plusieurs fichiers et sous plusieurs onglet de excel.
macro sur un dossier de fichier excel [ par funkay91 ]
je souhaite appliquer ma macro sur l'ensemble des fichiers .xls de mon dossier C'est dire j'ai un fichier exel dans lequel j'aurai ma macro qui une fo
VBA Excel - Recherche de fichiers [ par econs ]
Bonjour à toutes et tous. Je possède un dossier contenant un certain nombre de fichiers : - Un fichier Visio (*.vsd) - Un fichier Excel
!! URGENT !! Copie de fichier texte à la suite dans excel [ par xpmich ]
Bonjour,Je programme sous Microsof visual Basic.Je voudrais grâce à un macro ouvrir dans l'ordre des fichiers textes (de même forme) et les copier à l
Vieux fichiers Excel [ par ptigars67 ]
Bonjour,Je suis ennuyé avec un fichier qui avait été réalisé avec excel95 et qui ne fonctionne plus avec les versions de excel actuel.Je ne connais ab
Identification de fichiers [ par devba77 ]
Bonjour, Je me pose depuis pas mal de temps un pb de méthodologie. J'importe dans une base access plusieurs fichiers Excel par un module vba. Ces fich
Macro-Excel-VB [ par reggenzi ]
Bonjour,j'ai un problème avec excel, j'ai un fichier excel A dont le contenu de cellules équivaut au contenu des autres cellules située dans un autre
[VBA Excel] Fichier d'aide [ par tof008 ]
Bonjour à tous! J'aurais voulu savoir s'il était possible d'attacher un fichier d'aide à des fichiers Excel. Ceci me serait utile car j'ai crée des ma
Exportation de plusieurs fichiers .txt dans différents dossiers vers un fichier Excel [ par xl_squal_lx ]
Bonjour,Pouvez vous me dire s'il est possible de récupérer des données se trouvant dans plusieurs fichiers au format txt ( le chemin est le meme il n'
Livres en rapport
|
Derniers Blogs
XNA IS DEAD!XNA IS DEAD! par richardc
Depuis la semaine dernière (et grâce aux TechDays 2012), je me penche activement sur la nouvelle version de Windows, aka Windows 8. Vous me direz, il était temps puisque la première preview date de Septembre dernier.
OK. Remarquez, on n'en est qu'aux...
Cliquez pour lire la suite de l'article par richardc TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 !TECHDAYS PARIS 2012 : WINDOWS SERVER "8" QUOI DE 9 ! par ROMELARD Fabrice
Speakers: Fabrice Meillon et Stanislas Quastana Cette session est basée entièrement sur celle donnée lors de la BUILD cet hiver. Il n'y a pas d'ajout d'information en rapport avec cet évènement passé. Windows 8 Server sera intégralem...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice [HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] AUTOUR DU W3C : NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Je m'y prends un peu tard je sais, mais bon je suis développeur web et donc hyper fainéant ! Toujours dans le cadre des technologies émergentes, ici HTML5, parce qu'on aime HTML5 chez Wyg , nous seront présent, le vieux ( Aurélien V.) et moi, pour pr...
Cliquez pour lire la suite de l'article par Gio [WP7] DYNAMICALLY CHANGE STARTUP PAGE[WP7] DYNAMICALLY CHANGE STARTUP PAGE par KooKiz
Let's say that you want to allow the user to customize the startup page of your application. You can easily change the startup page by editing the 'NavigationPage' attribute in the manifest file. But the manifest cannot be modified once the applicatio...
Cliquez pour lire la suite de l'article par KooKiz
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|