las-dias
XLDnaute Nouveau
Bonjour à tous,
J'ai une macro qui ouvre des fichiers en passant par un “chemin” renseigné à la cellule “J9”, (puis ensuite, elle importe des données depuis une application).
Objectif: A partir d’un tableau (dans l’onglet “Parametres), je souhaite que la macro ouvre UNIQUEMENT les fichiers qui sont en “OUI” (colonne A).
Le nom de ces fichiers commencent toujours par : "Fiche de sport - " puis "nom du sport est variable, plage B10:B24 ".
J’ai essayé plusieurs exemple de VBA, mais sans succès, soit la macro plante soit elle ouvre tous les fichiers ( je suis un pur débutant) :
Si vous me permettez, je vous transmets le fichier Excel en question, son VBA et une capture d'écran d'un exemple.
En vous souhaitant une bonne réception.
Cher internaute, je vous serai reconnaissant pour le temps que vous allez ’m'accorder, je vous remercie à l'avance pour votre aide.
J'ai une macro qui ouvre des fichiers en passant par un “chemin” renseigné à la cellule “J9”, (puis ensuite, elle importe des données depuis une application).
Objectif: A partir d’un tableau (dans l’onglet “Parametres), je souhaite que la macro ouvre UNIQUEMENT les fichiers qui sont en “OUI” (colonne A).
Le nom de ces fichiers commencent toujours par : "Fiche de sport - " puis "nom du sport est variable, plage B10:B24 ".
J’ai essayé plusieurs exemple de VBA, mais sans succès, soit la macro plante soit elle ouvre tous les fichiers ( je suis un pur débutant) :
Code:
If Range("A" & no_metier + 9).Value = "OUI" Then
NomFichier = "Fiche de sport - " & Range("E10:E24") & ".xls"
Workbooks.Open Filename:=Cells(9, 10) & NomFichier
Workbooks.Open Filename:=NomFichier
Si vous me permettez, je vous transmets le fichier Excel en question, son VBA et une capture d'écran d'un exemple.
En vous souhaitant une bonne réception.
Cher internaute, je vous serai reconnaissant pour le temps que vous allez ’m'accorder, je vous remercie à l'avance pour votre aide.
Code:
Sub SPORT()
Dim fichier As String, chemin As String
Dim Wb As Workbook
chemin = Range("J9").Value & "\"
fichier = Dir(chemin & "\*.xls")
Do While fichier <> "" 'faire pour tous les fichiers du dossier
Set Wb = Workbooks.Open(chemin & fichier) 'ouvrir le fichier
Sheets(2).Activate 'se positionner sur la feuille 2
Application.Run ("ImportWorkSheet") 'importation des données
ActiveWorkbook.SaveAs chemin & fichier, FileFormat:="56" 'enregistrer le fichier
Wb.Close 'fermer le fichier
Set Wb = Nothing 'la variable ne fait plus référence au fichier fermé
fichier = Dir 'lit le fichier suivant dans le dossier
Loop
End Sub
Pièces jointes
Dernière édition: