ouverture fichier et lancement macro

  • Initiateur de la discussion Initiateur de la discussion sri75
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

sri75

XLDnaute Occasionnel
Bonjour, je voudrais faire la chose suivante.

A l'aide d'une macro je voudrais ouvrir les fichiers xls contenus dans un répertoire et faire exécuter une macro sur chacun d'eux.

Ma macro enleve certains onglets puis enregistre le fichier.

Je voudrais automatiser cela pour tous les fichiers contenus dans un répertoire.

Merci de votre aide.
 
Re : ouverture fichier et lancement macro

Bonjour,

Je te joins un fichier essais qui ouvre essais1, fait une macro et referme essais1 en enregistrant.

Mais en te relisant je crois que ce que tu veux c'est ca pour tout les fichiers excel contenu dans un dossier ? Donc dans la macro ne pas taper toutes les adresses des fichiers?
 

Pièces jointes

Re : ouverture fichier et lancement macro

Merci , effectivement je veux ouvrir tous les fichiers du répertoire et leur nom n'est pas fixe.

Je dois d'abord identifier le nom du premier, lancer la macro puis le 2 eme etc..


merci
 
Re : ouverture fichier et lancement macro

re,

( parce que si tout tes fichiers ont un nom type "essais 1.xls" "essais 2.xls"... y a moyen de faire un For i =1 to .. et d'ouvrir les fichiers les uns derrieres les autres. )

Oups j'avais pas vu le post


Wazzebu
 
Re : ouverture fichier et lancement macro

re,

regarde ce que je viens de trouver sur ce super forum:

Lister les fichiers d'un répertoire

Sub recupererListeFichiersDansRepertoire()
Dim X As Integer, nbFichiers As Integer
Dim Tableau() As String
Dim Direction As String
Direction = Dir("C:\reperetoire\*.xls") 'adapter chemin
'Direction = Dir("C:\repertoire\*.*") 'pour recuperer tous les types de fichiers
Do While Len(Direction) > 0
nbFichiers = nbFichiers + 1
reDim Preserve Tableau(1 To nbFichiers)
Tableau(nbFichiers) = Direction
Direction = Dir()
Loop
If nbFichiers > 0 Then
msgBox "il y a " & nbFichiers & " fichiers dans le repertoire . "
'pour afficher tous les noms de fichiers
For X = 1 To nbFichiers
Cells(X, 1) = Tableau(X)
Next X
End If
End Sub

a retrouver sur https://www.excel-downloads.com/thr...udits-de-formules-repertoires-fichiers.92364/

Voila je pense que c'est ce que tu cherchais !! 😀
 
Re : ouverture fichier et lancement macro

Bonjour,

essaye peut être le code ci dessous :

Code:
Option Explicit
Sub test()
'activer la reference Microsoft scripting Runtime
Dim fso As Scripting.FileSystemObject, source As String, f As File
Set fso = CreateObject("Scripting.FileSystemObject")
source = "C:\MesDocuments\Excel\Test\"
For Each f In fso.GetFolder(source).Files
    If Right(f.Name, 3) = "xls" Then
        Workbooks.Open source & f.Name
        'nom de ta macro
    End If
Next f
End Sub

bonne journée
@+
 
Re : ouverture fichier et lancement macro

Voila la solution !

Merci à tous pour votre aide.


Sub masqueetrenommeauto()
Dim F As Variant
Dim stAppName As String
With Application.FileSearch
.NewSearch

.LookIn = "K:\COHERDOSGEST\DOSGESTREEL"
.Filename = "*.xls"
.Execute
On Error Resume Next
For Each F In .FoundFiles

Workbooks.Open Filename:=F

Call masque2

Sheets("evol").Select
numadh = Range("g60").Value

nomfic = "\DOSGEST_2006_" & numadh & "_" & "N" & ".xls"

rep = "k:\coherdosgest\dosgestreel"

tot = rep & nomfic


Sheets("mailing").Select

Application.DisplayAlerts = False

ActiveWorkbook.SaveAs Filename:=tot, FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False

ActiveWorkbook.Close


Next F
End With
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour