Recherche d'un fichier XL, nom/path connus
Résolu/Fermé
cycytoulouse
Messages postés
15
Date d'inscription
vendredi 31 août 2007
Statut
Membre
Dernière intervention
9 octobre 2018
-
13 sept. 2018 à 09:02
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 3 oct. 2018 à 19:50
yg_be Messages postés 22720 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 23 avril 2024 - 3 oct. 2018 à 19:50
A voir également:
- Recherche d'un fichier XL, nom/path connus
- Fichier rar - Guide
- Fichier host - Guide
- Fichier iso - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
2 réponses
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
Modifié le 13 sept. 2018 à 09:20
Modifié le 13 sept. 2018 à 09:20
bonjour, ton second paragraphe est en contradiction avec le premier. peux-tu partager le code de ta macro, pour éviter tout malentendu?
tiens aussi compte de la réponse que tu as reçue: https://forums.commentcamarche.net/forum/affich-35580544-creation-d-un-fichier-excel-protege-mot-d-passe
tiens aussi compte de la réponse que tu as reçue: https://forums.commentcamarche.net/forum/affich-35580544-creation-d-un-fichier-excel-protege-mot-d-passe
cycytoulouse
Messages postés
15
Date d'inscription
vendredi 31 août 2007
Statut
Membre
Dernière intervention
9 octobre 2018
Modifié le 13 sept. 2018 à 16:41
Modifié le 13 sept. 2018 à 16:41
Bonjour,
Merci pour la réponse et désolé si je ne suis pas clair.
le tableau dans ma macro est MonTabListeRM(a, b); il faut que la macro check que : pour chaque ligne de ce tableau, un fichier correpondant dans un dossier spécifique existe ou pas.
Si un fichier existe alors la macro n'aura juste qu'à le modifier, et s'il n'existe pas il faudra le créer avec le nom
MonTabListeRM(a, 1) & ".xlsx".
Je ne suis pas sur que mon code soit trés fiable...ni trés propre.
EDIT : Ajout des balises de code
Merci pour la réponse et désolé si je ne suis pas clair.
le tableau dans ma macro est MonTabListeRM(a, b); il faut que la macro check que : pour chaque ligne de ce tableau, un fichier correpondant dans un dossier spécifique existe ou pas.
Si un fichier existe alors la macro n'aura juste qu'à le modifier, et s'il n'existe pas il faudra le créer avec le nom
MonTabListeRM(a, 1) & ".xlsx".
Je ne suis pas sur que mon code soit trés fiable...ni trés propre.
a = 1 b = 1 x = 0 For a = 1 To NombLigneTabRM Rep = "K:\GVA\P1\P1O\P1O_All\Marketing\" Fichier = Dir(Rep) Do While Fichier <> "" If Fichier = MonTabListeRM(a, b) & ".xlsx" Then ' ouvre le fichier et modifie le Workbooks.Open Filename:="K:\GVA\P1\P1O\P1O_All\Marketing\" & MonTabListeRM(a, b) & ".xlsx", Password:=MonTabListeRM(a, 4) Set Feuille2 = Sheets.Add(After:=ActiveSheet) Feuille2.Name = MonTabEvenement(1, 2) & " " & MonTabEvenement(2, 2) ActiveWorkbook.Save ActiveWorkbook.Close x = 1 End If Fichier = Dir Loop If x = 0 Then 'crée le fichier et Workbooks.Add Set Feuille2 = Sheets.Add(After:=ActiveSheet) Feuille2.Name = MonTabEvenement(1, 2) & " " & MonTabEvenement(2, 2) ChDir "K:\GVA\P1\P1O\P1O_All\Marketing" ActiveWorkbook.SaveAs Filename:="K:\GVA\P1\P1O\P1O_All\Marketing\" & MonTabListeRM(a, b) & ".xlsx", Password:=MonTabListeRM(a, 4), FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ActiveWorkbook.Close End If x = 0 Next a
EDIT : Ajout des balises de code
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
13 sept. 2018 à 15:09
13 sept. 2018 à 15:09
comme tu n'es dis rien, je suppose que le code fait ce que tu veux.
suggestions d'améliorations:
- ajouter "option explicit" en début de module, et déclarer tes variables
- utiliser des noms représentatifs pour tes variables
ta logique me semble très bizarre. pourquoi parcourir la liste des fichiers présents dans le dossier pour vérifier si un fichier déterminé est présent? moi je vérifierais directement si le fichier est présent, sans faire de boucle.
une ébauche:
suggestions d'améliorations:
- ajouter "option explicit" en début de module, et déclarer tes variables
- utiliser des noms représentatifs pour tes variables
ta logique me semble très bizarre. pourquoi parcourir la liste des fichiers présents dans le dossier pour vérifier si un fichier déterminé est présent? moi je vérifierais directement si le fichier est présent, sans faire de boucle.
une ébauche:
Dim rep As String Dim A As Long Dim b As Long Dim NombLigneTabRM As Long Dim MonTabListeRM, MonTabEvenement Dim Feuille2 As Worksheet b = 1 rep = "K:\GVA\P1\P1O\P1O_All\Marketing\" For A = 1 To NombLigneTabRM If Dir(rep & MonTabListeRM(A, b) & ".xlsx") <> "" Then ' ouvre le fichier et modifie le Workbooks.Open Filename:="K:\GVA\P1\P1O\P1O_All\Marketing\" & MonTabListeRM(A, b) & ".xlsx", Password:=MonTabListeRM(A, 4) Set Feuille2 = Sheets.Add(After:=ActiveSheet) Feuille2.Name = MonTabEvenement(1, 2) & " " & MonTabEvenement(2, 2) ActiveWorkbook.Save ActiveWorkbook.Close Else 'crée le fichier et Workbooks.Add Set Feuille2 = Sheets.Add(After:=ActiveSheet) Feuille2.Name = MonTabEvenement(1, 2) & " " & MonTabEvenement(2, 2) ChDir "K:\GVA\P1\P1O\P1O_All\Marketing" ActiveWorkbook.SaveAs Filename:="K:\GVA\P1\P1O\P1O_All\Marketing\" & MonTabListeRM(A, b) & ".xlsx", Password:=MonTabListeRM(A, 4), FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False ActiveWorkbook.Close End If Next A
cycytoulouse
Messages postés
15
Date d'inscription
vendredi 31 août 2007
Statut
Membre
Dernière intervention
9 octobre 2018
13 sept. 2018 à 15:19
13 sept. 2018 à 15:19
Merci pour ces conseils...j'ai fait une boucle car je ne connaissais pas la fonction pour trouver directement le fichier...maintenant je la connais, et je t'en remercie. Je suis autodidacte, et j'admets volontier qu'il me manque de la rigueure et de la méthode...
yg_be
Messages postés
22720
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
23 avril 2024
1 476
>
cycytoulouse
Messages postés
15
Date d'inscription
vendredi 31 août 2007
Statut
Membre
Dernière intervention
9 octobre 2018
3 oct. 2018 à 19:50
3 oct. 2018 à 19:50
peux-tu marquer comme résolu, via la roue dentée à droite du titre?