Effectuer une même modification sur une quantité variable de fichier Excel

Frakamout

XLDnaute Nouveau
Salut à tous,

Une fois encore, je manque de connaissance, et compte sur vous pour m'aider à résoudre mon problème.

Pour résumer, j'ai un nombre variable de fichier Excel se trouvant dans le même dossier.
--> V:\CoC11\Logiciel\Fiches competence operateur

Ce que je cherche à faire, c'est réaliser la même modification sur chancun de ces fichiers en un seul clique (par exemple ajouter une colonne) grâce à VBA.

Le code de la modification ne pose aucun problème, mais je ne vois pas comment programmer l'ouverture un par un des fichiers se trouvant dans le dossier afin d'effectuer cette modif.

J'espère avoir était assez clair.
Dans le cas contraire, n'hésitez pas à me poser des questions.

Si cela peut aider, j'ai listé sur un tableur le nom de chancun des fichier à traiter, et qui se met à jour automatiquement.

Merci d'avance

FraKaMout
 

pat01200

XLDnaute Occasionnel
Re : Effectuer une même modification sur une quantité variable de fichier Excel

Bonjour FraKaMout, bonjour le forum,

Le code pour ouvrir un fichier connu et situé à un endroit précis est :

Workbooks.Open Filename:=

et on fait suivre le signe égal du chemin complet pour accéder à ce fichier, entre guillemets. Exemples :
[/QUOTE]Workbooks.Open Filename:="V:\CoC11\Logiciel\Fiches competence operateur\Fichier1.xls"
Workbooks.Open Filename:="V:\CoC11\Logiciel\Fiches competence operateur\FichierX.xls"[/QUOTE]

Et pour fermer en enregistrant les modifications apportées :
ActiveWorkbook.Saved = True
Application.Quit
 

Frakamout

XLDnaute Nouveau
Re : Effectuer une même modification sur une quantité variable de fichier Excel

Merci pour ta réponse.
Mais je sais déjà ouvrir un fichier.

En revanche, ce que je ne sais pas faire, c'est créer une boucle qui me permettrai de pouvoir répéter l'opération sur l'ensemble des fichiers se trouvant dans le dossier.
 

tototiti2008

XLDnaute Barbatruc
Re : Effectuer une même modification sur une quantité variable de fichier Excel

Bonjour Frakamout, Bonjour pat,

Mais la détermination des fichiers à ouvrir doit se faire sur la base des fichiers présents dans le dossier ou sur la base de ta liste de noms de fichiers à traiter ?
Si sur la base des noms de fichiers à traiter dans une feuille Excel, il faut boucler sur les cellules, utiliser le Workbooks.open proposé par pat en mettant en variable le nom du fichier
en fonction du contenu de la cellule
Comme on ne sait pas où se trouve cette liste, difficile de te donner un code prémaché (à moins de faire un fichier mais je n'ai pas envie)
Explique nous où tu as des difficultés
 

francedemo

XLDnaute Occasionnel
Re : Effectuer une même modification sur une quantité variable de fichier Excel

bonjour le fil,

j'ai eu besoin de ce genre de code par le passé, j'ai utilisé:

Code:
Chemin = "chemin_complet_du_dossier"
'Premier fichier
Fichier = Dir(Chemin & "*.xls")
Do While Fichier <> ""
       Workbooks.Open FileName:=Chemin & Fichier
       xxxx ta macro "action" xxx
       ...
       Fichier = Dir
loop

ce code va balayer tout répertoire, ouvrir les fichiers les uns après les autres, réaliser l'action que tu souhaite (ta macro "action"), fermer le fichier et passer au suivant
dans le code Dir, je n'ouvre que les fichier Excel (*.xls)

à +

edit: bonjour tototiti2008
 

Frakamout

XLDnaute Nouveau
Re : Effectuer une même modification sur une quantité variable de fichier Excel

Salut Tototiti et francedemo,

Tototiti:
L'idéal serait de ne pas à avoir de liste à faire.

francedemo:
Je crois que c'est le code que j'attendais, du moins cela y ressemble beaucoup.
Je le test et je te dis si cela fonction.
 

francedemo

XLDnaute Occasionnel
Re : Effectuer une même modification sur une quantité variable de fichier Excel

dsl, j'ai oublié un bout de code :

'Fermeture du fichier ouvert
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False

à mettre juste avant : Fichier = Dir
 

Frakamout

XLDnaute Nouveau
Re : Effectuer une même modification sur une quantité variable de fichier Excel

J'ai donc tapé ceci:

Private Sub CommandButton58_Click()

Dim i As Integer, Chemin As String, Fichier As String
Chemin = "V:\CoC11\17. Pilotage amélioration continue\172. Antoine\ITII\PFE\PFE\Logiciel\Fiche competence operateur"
'Premier fichier
Fichier = Dir(Chemin & "ABGRALL Jean-Luc.xls")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier
Range("E1") = Now
'Fermeture du fichier ouvert
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=False

Fichier = Dir
Loop
End Sub


Mais rien ne se passe...
J'ai un doute sur ce que j'ai rajouté: Dim i As Integer, Chemin As String, Fichier As String
 

francedemo

XLDnaute Occasionnel
Re : Effectuer une même modification sur une quantité variable de fichier Excel

ok, alors :
1 - dans "Chemin", il ne faut pas oublier le dernier "\"
2 - dans "Fichier", il ne faut pas nommer le premier fichier mais lui indiquer un caractère générique "*" suivi de l'extension si nécessaire donc "*.xls" pour les fichier Excel
3 - "i" n'est pas utilisé
voilà
à+
 

Frakamout

XLDnaute Nouveau
Re : Effectuer une même modification sur une quantité variable de fichier Excel

J'ai fait les modifications, et cela ne fonctionnait pas...
Mais j'ai trouvé le problème, il s'agissait de cette ligne:

ActiveWorkbook.Close savechanges:=False

Si je veux voir les modifications, alors j'ai changé False par True. (Et oui, encore un ptit truc bête et méchant! ^^)

Pour les futurs lecteurs de ce forum, le code est:

Dim Chemin As String, Fichier As String
Chemin = "V:\CoC11\17. Pilotage amélioration continue\172. Antoine\ITII\PFE\PFE\Logiciel\Fiche competence operateur\"
'Premier fichier
Fichier = Dir(Chemin & "*.xls")
Do While Fichier <> ""
Workbooks.Open Filename:=Chemin & Fichier

xxxx ta macro "action" xxx

'Fermeture du fichier ouvert
Windows(Fichier).Activate
Application.CutCopyMode = False
ActiveWorkbook.Close savechanges:=True

Fichier = Dir()
Loop

Merci beaucoup francedemo pour ton aide!
A+

FraKaMout
 

francedemo

XLDnaute Occasionnel
Re : Effectuer une même modification sur une quantité variable de fichier Excel

comme quoi,
moi, je l'utilise pour récupérer des infos sur les différents fichiers (devis, vente, garantie...) et je ne veut en aucun cas modifier le fichier original, du coup quand je le ferme, c'est avec un savechanges = false...
sinon, ça va plutôt bien pour se créer une bdd rapidement
 

Discussions similaires

Statistiques des forums

Discussions
312 443
Messages
2 088 474
Membres
103 863
dernier inscrit
OUIDDIR