Faire une modification sur 400 fichiers excel

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...
Configuration: Windows XP Internet Explorer 7.0

6 réponses

  1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. Gwen
       
      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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    1. Gwen
       
      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
  3. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Content pour toi.
    La prochaine fois, amène le café!!! :o))
    0
  4. Gwen
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
  7. Gwen
     
    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