Faire une modification sur 400 fichiers excel
Gwen
-
Gwen -
Gwen -
Bonjour,
Je dois effectuer une modification de formule de calcul sur 400 fichiers excel identiques sauf les valeurs.
Est-il possible de ne faire qu'une seule manipulation afin d'éviter 400 copier-coller.
Merci d'avance pour le gain de temps...
Je dois effectuer une modification de formule de calcul sur 400 fichiers excel identiques sauf les valeurs.
Est-il possible de ne faire qu'une seule manipulation afin d'éviter 400 copier-coller.
Merci d'avance pour le gain de temps...
Configuration: Windows XP Internet Explorer 7.0
6 réponses
-
bonjour,
tes 400 fichiers devront être dans le m^me répertoire
tu nous indiques:
les fichiers ont ils un nom générique? par ex: toto28, toto29... ==> générique=toto
sur quelle feuille et quelle cellule on doit coller la formule?
pour confirmation; cette adresse de collage (feuille-cellule) est elle la m^me que celle de copiage?
ce sera plus rapide qu'à la main, mais à première vue tu auras le temps de boire un café (ca dépendra du poids de tes fichiers)-
Bonjour Michel,
Merci pour ta réponse et désolé de te répondre si tard.
Mes 400 fichiers sont effectivement dans le même répertoire.
Ils sont tous nommés de "1.xls" à "400.xls".
la formule est à coller sur la feuille "STAT" cellule F18 + K18 + P18 + U18 + F39 + K39 + P39 + U39 de chaque fichier.
Enfin, cette adresse de colage est la m^me que celle de copiage.
Cordialement,
Gwénaël
-
-
Bonjour,
rassures toi, généralement les demandes du Vendredi pm sont exprimées avant de partir en WE. Donc, on attend le lundi matin.
ci dessous macro le fichier ou sont écrites les formules à modifier s'appelle modele.XLS
la macro à lancer est "modifier_formules"Option Explicit Dim tablo(7) As String Sub collecter() Dim cptr As Byte, cellule As String 'collecte les formules à modifier For cptr = 0 To 7 cellule = Choose(cptr + 1, "F18", "K18", "P18", "U18", "F39", "K39", "P39", "U39") tablo(cptr) = Range(cellule).FormulaLocal Next End Sub Sub modifier_formules() Dim chemin As String, fich As String Dim cptr As Byte, cellule As String 'fige le défilement de l'écran Application.ScreenUpdating = False 'force dans le répertoire de travail chemin = ThisWorkbook.Path ChDir chemin '-----mémorise les nouvelles formules par applel de la macro "collecter" collecter fich = Dir("*.xls") While fich <> "" If fich <> "modele.xls" Then ' a adapter 'ouvre le fichier à modifier Workbooks.Open Filename:=fich 'ecrit les nouvelles formules dans le fichier ouvert For cptr = 0 To 7 cellule = Choose(cptr + 1, "F18", "K18", "P18", "U18", "F39", "K39", "P39", "U39") Sheets("stats").Range(cellule) = tablo(cptr) ' écrire "stat" Next 'sauvegarde et ferme le fichier modifié With Workbooks(fich) .Save .Close End With End If 'affecte le fichier suivant (utilisation du joker " * " utilisé pour la def du 1° fichier) fich = Dir Wend End Sub
Edit 11:45h
ci joint tite démo
https://www.cjoint.com/?gplSvYpE0k
attention: j'ai appelé l'onglet "stats" au lieu de "stat" chez toi
tu dis si tyu as eu le temps de boire le café (quel est le poids des fichiers à modifier?), d'avance merci
--
Cordialement, Michel -
Content pour toi.
La prochaine fois, amène le café!!! :o)) -
Bonsoir Michel,
Finalement, j'ai une nouvelle question si tu le permets.
Toujours au sujet de mes 400 fichiers excel, j'ai crée sur l'exemplaire modèle une mise en forme conditionnelle afin que les chiffres négatifs soient affichés en rouge et les positifs en vert.
Connais tu une macro qui me permetterai de faire la modif sur les autres 400 fichiers ?
Cellules concernées : (B6 : U18) et (B27 : U39).
Merci d'avance,
Gwénaël -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
Bravo!
Je vois que si je te consacre pas une partie de ma soirée à résoudre exclusivement tes problèmes, tu reposes la m^me question le lendemain...
désolé, mais je ne suis pas un kleenex à jeter....
-- -
Bonjour Michel,
Ce n'est pas du tout le cas. Je n'ai pas l'habitude de ce forum et lorsque tu as résolu mon premier problème, j'ai signalé que le problème à cette discution était résolu et qu'il pouvait être supprimé.
J'ai simplement pensé que le lien entre moi et toi était peut-être lui aussi supprimé et que tu n'avais pas reçu mon message !!!!!
Très sincèrement,
Gwénaël