Faire une modification sur 400 fichiers excel

Fermé
Gwen - 12 juin 2009 à 20:36
 Gwen - 18 juin 2009 à 10:38
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...
A voir également:

6 réponses

michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
12 juin 2009 à 23:16
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)
0
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
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
15 juin 2009 à 11:39
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
0
Bonsoir Michel,

Elle est vraiment terrible ta macro!!! Résultat, 400 fichiers modifiés en deux minutes, tu es un pro. Tu n'imagines pas le temps que tu viens de faire gagner.

Merci beaucoup et j'espère à bientôt,
Gwénaël
0
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
15 juin 2009 à 18:28
Content pour toi.
La prochaine fois, amène le café!!! :o))
0
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 3 310
18 juin 2009 à 10:30
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....
--
0
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
0