MODIFICATION SUR 400 FICHIERS EXCEL

Gwen -  
Bidouilleu_R Messages postés 1209 Statut Membre -
Bonjour,

Je dispose d'un répertoire avec 400 fichiers excel identiques (sinon que les données) nommés du fichier 1.xls au fichier 400.xls.
Sur un fichier modèle nommé modele.xls, j'ai effectué une mise en forme conditionnelle afin que toutes les valeurs inférieures à 0 s'affichent en rouge et les valeurs supérieures ou égales à 0 en vert.
Il y a t'il une macro qui me permetterai de modifier l'ensemble de mes 400 fichiers en une seule fois ?

Merci d'avance,
Configuration: Windows XP Internet Explorer 7.0

6 réponses

  1. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Bonjour,
    dans ton cas .... il faut simplement recopier le format de ton modèle.
    procède comme ça :
    1) dans un fichier xl moi je l'appelle modelesav.xlsm parcequ'il contiendra cette macro
    prend ton modèle initial puis ajoute lui cette macro.
    2) place tous les fichiers que tu veux modifier dans un dossier et seulement ceux-là.
    3) modifie la macro en indiquant le bon chemin ..moi j'ai mis c:\Data
    4) fais un test avec 2 fichiers
    5) lit les notes en gras
    6) pense à mettre en résolu après.

    Sub Modifie_Format_fichiers()
    Dim fso, oDossier, oFichier, Fichier
    Dim s As String
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oDossier = fso.getfolder("C:\Data")

    Set oFichier = oDossier.Files
    For Each Fichier In oFichier
    Workbooks.Open Filename:=oDossier & "\" & Fichier
    Windows("modelesav.xlsm").Activate
    Cells.Select
    Selection.Copy
    Windows(Fichier).Activate
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("A1").Select
    Application.CutCopyMode = False
    Workbooks(Fichier).Save
    Workbooks(Fichier).Close

    Next

    End Sub

    A+
    0
  2. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Bonjour,

    je croyais que c'était un nouveau post donc j'ai répondu.
    je vous souhaite une bonne journée.

    Je vais me venger sur une entrecôte sauce au poivre ( tant pis pour les végétariens... )
    A+
    0
  3. Gwen
     
    Bonjour,
    J'ai effectué la manip comme convenu mais j'ai un message d'erreur 400. Vois tu de quoi ça peut provenir ?

    Merci
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    Bonjour,
    je repost car j'avais une erreur
    ce que je ne comprends pas c'est pourquoi tu ne suis pas les instructions
    de Michel_m ? La réponse t'avais été donnée.
    Et si tu as une réponse ... je veux bien la lire.

    Ci-dessous ma correction à ma procédure.

    Sub Modifie_Format_fichiers()
    Dim fso, oDossier, oFichier, Fichier
    Dim s As String
    Set fso = CreateObject("Scripting.FileSystemObject")
    Set oDossier = fso.getfolder("C:\Data")

    Set oFichier = oDossier.Files
    For Each Fichier In oFichier
    Workbooks.Open Filename:=Fichier
    Windows("modelesav.xlsm").Activate
    Cells.Select
    Selection.Copy
    Windows(2).Activate
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
    SkipBlanks:=False, Transpose:=False
    Range("A1").Select
    Application.CutCopyMode = False
    Workbooks(2).Save
    Workbooks(2).Close

    Next

    End Sub
    0
    1. Gwen
       
      Bonjour,

      Voilà seulement quelques jours que je me familiarise avec ce forum. Michel m'a effectivement donné une réponse pour copier les formules mais il me semble qu'il n'y en a pas pour les formats ou alors je ne regarde pas ou il faut.
      Si mes démarches vous paraissent hasardeuses, ne soyez pas étonnés, le temps que je découvre les fonctions de ce site.

      Merci,
      0
  6. Bidouilleu_R Messages postés 1209 Statut Membre 296
     
    C'est dommage de ne pas l'avoir dis dès le départ comme ça
    1) jevoudrais recopier des formules 2) garder le format.

    Ma procedure fait une copie du fichier modelesav.xlsm puis ouvre le 1er fichier parmi 400 (ou plus)
    du repertoire c:\data ( à modifier...) puis colle seulement le format
    enregistre le fichier le ferme et au suivant.

    Spécifiquement, si les cellules que Michel_m à copier doivent prendre un format particulier
    tu comprends sans doute que cela aurait pu être fait en même temps.

    pour plus d'infos regarde aussi avec .interior.colorindex(n°decouleur)
    A+
    0