Appliquer une Macro excel sur tout un répertoire

Résolu
davidgoal Messages postés 4 Statut Membre -  
 davidgoal -
Bonjour,

je veux appliquer une macro sur tout un répertoire à partir d'un bouton.

j'ai utilisé ce code vb pour le module1:

Sub Button2_Click()
Dim NomFic As String
ChDrive ThisWorkbook.Path: ChDir ThisWorkbook.Path
NomFic = Dir("*.xls*")
While NomFic <> ""
If NomFic <> ThisWorkbook.Name Then
Workbooks.Open NomFic
WORKorderFinal2
Workbooks(NomFic).Close True
End If
NomFic = Dir
Wend
End Sub

mais le problème c'est que je reçois une erreur de débogage dans la ligne:
Workbooks(NomFic).Close True

et la Macro s'arrête juste après avoir été appliqué sur un seul fichier de mon répertoire!!

9 réponses

  1. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonsoir davidgoal,

    - À quoi sert WORKorderFinal2 ?

    - avant de rentrer dans le While NomFic = Dir("*.xls*")
    .. et dans le While NomFic = Dir
    .... pourquoi cette différence ?
    0
  2. davidgoal Messages postés 4 Statut Membre
     
    Bonsoir,

    WORKorderFinal2 c'est une macro qui modifie mon fichier de la manière que je souhaite avoir.

    maintenant je cherche à appliquer cette macro sur tout un répertoire.
    vous me proposer autre chose ?
    0
  3. Heliotte Messages postés 1561 Statut Membre 92
     
    Je pense que la procédure d'ouverture de fichier n'est pas la meilleure (si toutefois elle ouvre un classeur !).

    J'utilise celle-ci :
    - Workbooks.Open Filename:="C:\NomRepertoire\NomFichier.xls"

    Voilà.
    0
  4. davidgoal Messages postés 4 Statut Membre
     
    oui c'est bien comme formule mais est ce que je peux l'utiliser pour ouvrir tout les fichiers de mon répertoire sachant que je ne connais pas les noms des fichiers en avance ?
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Heliotte Messages postés 1561 Statut Membre 92
     
    Oui, si ce sont des Workbook .. sinon .. erreur
    0
  7. davidgoal Messages postés 4 Statut Membre
     
    est ce que vous pouvez me proposer un code ?
    j'arrive pas à le faire tout seul.
    merci en tout cas
    0
  8. Heliotte Messages postés 1561 Statut Membre 92
     
    Bonsoir,

    Le code de quoi .. ouvrir n'importe quel fichier, des fichiers textes, des workbook ?
    Pour les workbook, je vous l'ai donné plus haut.
    0
  9. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    essaies ceci:
    on sauvegarde le fichier en cours s'il a _
    été modifié et on le ferme
     With Workbooks(nomfic)
                If Not .Saved Then
                    .Save
                End If
                .Close
            End With


    nota la syntaxe
    nomfic=dir
    est bonne

    Merci de mettre tes codes entre les balises <> du bouton au dessus du message
    0