Ouvrir dans un répertoire un fichier sans connaître son nom
Fermé
Jean-luc7964
Messages postés
8
Date d'inscription
dimanche 14 février 2016
Statut
Membre
Dernière intervention
28 février 2016
-
14 févr. 2016 à 17:32
Jean-luc7964 Messages postés 8 Date d'inscription dimanche 14 février 2016 Statut Membre Dernière intervention 28 février 2016 - 28 févr. 2016 à 18:58
Jean-luc7964 Messages postés 8 Date d'inscription dimanche 14 février 2016 Statut Membre Dernière intervention 28 février 2016 - 28 févr. 2016 à 18:58
A voir également:
- Ouvrir dans un répertoire un fichier sans connaître son nom
- Comment ouvrir un fichier epub ? - Guide
- Ouvrir un fichier .bin - Guide
- Comment ouvrir un fichier docx ? - Guide
- Ouvrir un fichier .dat - Guide
- Comment réduire la taille d'un fichier - Guide
7 réponses
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
15 févr. 2016 à 10:54
15 févr. 2016 à 10:54
Bonjour,
voici un exemple:
http://www.cjoint.com/c/FBpj10iNGiQ
voici un exemple:
http://www.cjoint.com/c/FBpj10iNGiQ
Jean-luc7964
Messages postés
8
Date d'inscription
dimanche 14 février 2016
Statut
Membre
Dernière intervention
28 février 2016
15 févr. 2016 à 18:31
15 févr. 2016 à 18:31
Ok merci pour ta réponse
il faudrait modifier le code en lui indiquant le chemin du répertoire:
E:\Fabrication\optimix
afin d'éviter ces boites de dialogue car je voudrai l'automatiser avec une macro auto/ouvrir via le planificateur de tache Windows
Ensuite je pense me débrouiller pour le reste
Merci pour ton aide
il faudrait modifier le code en lui indiquant le chemin du répertoire:
E:\Fabrication\optimix
afin d'éviter ces boites de dialogue car je voudrai l'automatiser avec une macro auto/ouvrir via le planificateur de tache Windows
Ensuite je pense me débrouiller pour le reste
Merci pour ton aide
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
15 févr. 2016 à 18:48
15 févr. 2016 à 18:48
C'est tout simple
dans la sub:
Sub triDecroissant_Fichiers_DateDreation()
changer
SelectionDossier_source
par
chemin = "E:\Fabrication\optimix"
voilà
@+
dans la sub:
Sub triDecroissant_Fichiers_DateDreation()
changer
SelectionDossier_source
par
chemin = "E:\Fabrication\optimix"
voilà
@+
Jean-luc7964
Messages postés
8
Date d'inscription
dimanche 14 février 2016
Statut
Membre
Dernière intervention
28 février 2016
17 févr. 2016 à 18:42
17 févr. 2016 à 18:42
ok j'essaie ce weekend
Jean-luc7964
Messages postés
8
Date d'inscription
dimanche 14 février 2016
Statut
Membre
Dernière intervention
28 février 2016
Modifié par Jean-luc7964 le 27/02/2016 à 18:45
Modifié par Jean-luc7964 le 27/02/2016 à 18:45
Bonjour
J'ai essayé de faire un code avec plusieurs mais j'ai des problèmes
1 je n'arrive à refermer le classeur qui contient les infos
2 j'ai mis une condition qui ne fonctionne pas
merci pour votre aide
Sub RechercheFichier2()
Dim Chemin
Chemin = "E:\Airvault\Fabrication\optimix"
Dim Files As Object, File As Object, i As Integer
Dim Sh As Worksheet
Dim EnTetes, ArrFSO
Dim homo As Variant
Dim vérif
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = Chemin
If NomDossier = "" Then Exit Sub
Set Dossier = fso.GetFolder(NomDossier)
Sheets("Recherche Silo").Select
Set Files = Dossier.Files
i = 1
For Each File In Files
i = i + 1
With File
ArrFSO = Array(.Name)
End With
Cells(i, 1) = ArrFSO
Next
'copie des deux derniers numéro de silo fabriqués dans recherche silo
Sheets("Recherche Silo").Select
Range("A2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(-1, 0).Activate
Selection.Copy
Range("D2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'Traitement du dernier silo dans Extraction
valeur = Range("D1").Value
Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & " "
'copie du tableau
Cells.Select
Selection.Copy
Windows("essai macro.xlsm").Activate
Sheets("Extraction").Select
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False
'extraction dans données
Sheets("Extraction").Select
Application.Goto Reference:="echantillon"
Selection.Copy
Sheets("données").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'vérif si homo fini (pas réussi avec la condition )
Sheets("Extraction").Select
Application.Goto Reference:="vérif"
'If UCase(Range("f2").Value) & " " Like "*homo *" Then
'End If
'If UCase(Range("f2").Value) & " " Like "*ech *" Then Exit Sub
'récupère les données de broyeur et copie dans broyeur
Sheets("Extraction").Select
Application.Goto Reference:="broyeur"
Selection.Copy
Sheets("Rapport").Select
Range("S2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'récupère les données de Kuhl_silo et copie dans Rapport
Sheets("Extraction").Select
Application.Goto Reference:="Kuhl_silo"
Selection.Copy
Sheets("Rapport").Select
Range("R2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'récupère les données de doseurs et copie dans Rapport
Sheets("Extraction").Select
Application.Goto Reference:="doseurs"
Selection.Copy
Sheets("Rapport").Select
Range("K2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'récupère les données de tonnage et copie dans données
Sheets("Extraction").Select
Application.Goto Reference:="tonnage"
Selection.Copy
Sheets("données").Select
Range("B6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'referme le classeur de la dernière montée de silo (je n'arrive pas à le refermer)
Workbooks("E:\Airvault\Fabrication\optimix\" & valeur & " ").Close
'imprime le Rapport
'Sheets("Rapport").Select
'ActiveWindow.SelectedSheets.PrintPreview
'Application.ActivePrinter = "\\FBS818ADS12\IMPR-AIRVAULT sur Ne05:"
'ExecuteExcel4Macro _
' "PRINT(1,,,1,,FALSE,,,,,,2,""\\FBS818ADS12\IMPR-AIRVAULT sur Ne05:"",,,,FALSE)"
'ActiveWindow.SelectedSheets.PrintPreview
'efface tout pour le prochain Rapport
Sheets("Recherche Silo").Select
Columns("A:A").Select
Selection.ClearContents
Sheets("données").Select
Columns("A:A").Select
Selection.ClearContents
Application.Goto Reference:="raz"
Selection.ClearContents
'Traitement de l'avant dernier silo dans Extraction
'Windows("essai macro.xlsm").Activate
' Sheets("Recherche Silo").Select
'valeur = Range("D2").Value
'Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & " "
End Sub
J'ai essayé de faire un code avec plusieurs mais j'ai des problèmes
1 je n'arrive à refermer le classeur qui contient les infos
2 j'ai mis une condition qui ne fonctionne pas
merci pour votre aide
Sub RechercheFichier2()
Dim Chemin
Chemin = "E:\Airvault\Fabrication\optimix"
Dim Files As Object, File As Object, i As Integer
Dim Sh As Worksheet
Dim EnTetes, ArrFSO
Dim homo As Variant
Dim vérif
Application.ScreenUpdating = False
Set fso = CreateObject("Scripting.FileSystemObject")
NomDossier = Chemin
If NomDossier = "" Then Exit Sub
Set Dossier = fso.GetFolder(NomDossier)
Sheets("Recherche Silo").Select
Set Files = Dossier.Files
i = 1
For Each File In Files
i = i + 1
With File
ArrFSO = Array(.Name)
End With
Cells(i, 1) = ArrFSO
Next
'copie des deux derniers numéro de silo fabriqués dans recherche silo
Sheets("Recherche Silo").Select
Range("A2").Select
Selection.End(xlDown).Select
ActiveCell.Offset(-1, 0).Activate
Selection.Copy
Range("D2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'Traitement du dernier silo dans Extraction
valeur = Range("D1").Value
Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & " "
'copie du tableau
Cells.Select
Selection.Copy
Windows("essai macro.xlsm").Activate
Sheets("Extraction").Select
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False
'extraction dans données
Sheets("Extraction").Select
Application.Goto Reference:="echantillon"
Selection.Copy
Sheets("données").Select
Range("A1").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'vérif si homo fini (pas réussi avec la condition )
Sheets("Extraction").Select
Application.Goto Reference:="vérif"
'If UCase(Range("f2").Value) & " " Like "*homo *" Then
'End If
'If UCase(Range("f2").Value) & " " Like "*ech *" Then Exit Sub
'récupère les données de broyeur et copie dans broyeur
Sheets("Extraction").Select
Application.Goto Reference:="broyeur"
Selection.Copy
Sheets("Rapport").Select
Range("S2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'récupère les données de Kuhl_silo et copie dans Rapport
Sheets("Extraction").Select
Application.Goto Reference:="Kuhl_silo"
Selection.Copy
Sheets("Rapport").Select
Range("R2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'récupère les données de doseurs et copie dans Rapport
Sheets("Extraction").Select
Application.Goto Reference:="doseurs"
Selection.Copy
Sheets("Rapport").Select
Range("K2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'récupère les données de tonnage et copie dans données
Sheets("Extraction").Select
Application.Goto Reference:="tonnage"
Selection.Copy
Sheets("données").Select
Range("B6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
'referme le classeur de la dernière montée de silo (je n'arrive pas à le refermer)
Workbooks("E:\Airvault\Fabrication\optimix\" & valeur & " ").Close
'imprime le Rapport
'Sheets("Rapport").Select
'ActiveWindow.SelectedSheets.PrintPreview
'Application.ActivePrinter = "\\FBS818ADS12\IMPR-AIRVAULT sur Ne05:"
'ExecuteExcel4Macro _
' "PRINT(1,,,1,,FALSE,,,,,,2,""\\FBS818ADS12\IMPR-AIRVAULT sur Ne05:"",,,,FALSE)"
'ActiveWindow.SelectedSheets.PrintPreview
'efface tout pour le prochain Rapport
Sheets("Recherche Silo").Select
Columns("A:A").Select
Selection.ClearContents
Sheets("données").Select
Columns("A:A").Select
Selection.ClearContents
Application.Goto Reference:="raz"
Selection.ClearContents
'Traitement de l'avant dernier silo dans Extraction
'Windows("essai macro.xlsm").Activate
' Sheets("Recherche Silo").Select
'valeur = Range("D2").Value
'Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & " "
End Sub
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
27 févr. 2016 à 18:54
27 févr. 2016 à 18:54
Voilà:
@+
ThisWorkbook.Close False ' ferme le classeur sans enregistrement ThisWorkbook.Close True ' ferme le classeur avec enregistrement ThisWorkbook.Close ' ferme le classeur et laisse l'utilisateur le choix de l'enregistrer
@+
Jean-luc7964
Messages postés
8
Date d'inscription
dimanche 14 février 2016
Statut
Membre
Dernière intervention
28 février 2016
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
28 févr. 2016 à 10:17
28 févr. 2016 à 10:17
Bonjour et merci pour ton aide
je comprend cette commande mais à cet instant du code je me retrouve avec deux classeurs:
1 le classeur pour le traitement du rapport qui contient la macro
2 le classeur "inconnu" que la macro à ouvert avec:
Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & "
et ce classeur "inconnu" avant de le fermer avec ta commande il faut bien que je le sélectionne et la je bloque.
je comprend cette commande mais à cet instant du code je me retrouve avec deux classeurs:
1 le classeur pour le traitement du rapport qui contient la macro
2 le classeur "inconnu" que la macro à ouvert avec:
Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & "
et ce classeur "inconnu" avant de le fermer avec ta commande il faut bien que je le sélectionne et la je bloque.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
28 févr. 2016 à 10:44
28 févr. 2016 à 10:44
Pour fermer le classeur "inconnu" que la macro à ouvert avec
voir ceci:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.workbook.close?redirectedfrom=MSDN
Tu remplaces False par True
@+
voir ceci:
https://docs.microsoft.com/fr-fr/office/vba/api/excel.workbook.close?redirectedfrom=MSDN
Tu remplaces False par True
@+
Jean-luc7964
Messages postés
8
Date d'inscription
dimanche 14 février 2016
Statut
Membre
Dernière intervention
28 février 2016
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
28 févr. 2016 à 11:04
28 févr. 2016 à 11:04
Workbooks("BOOK1.XLS").Close SaveChanges:=True
Ok mais avec cette commande il faut connaitre le nom du classeur et dans mon cas il est variable
Mon problème n'est pas de fermer ce classeur au nom variable mais d'abord de l'activer pour le fermer ensuite.
Ok mais avec cette commande il faut connaitre le nom du classeur et dans mon cas il est variable
Mon problème n'est pas de fermer ce classeur au nom variable mais d'abord de l'activer pour le fermer ensuite.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
28 févr. 2016 à 11:28
28 févr. 2016 à 11:28
comme ceci:
Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & " " ' Pour fermer le classeur actif ActiveWorkbook.Close savechanges:=False 'ou True
Jean-luc7964
Messages postés
8
Date d'inscription
dimanche 14 février 2016
Statut
Membre
Dernière intervention
28 février 2016
28 févr. 2016 à 16:55
28 févr. 2016 à 16:55
Oui j'avais compris mais je pense m'être mal exprimé
pour l'ouvrir:
Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & " "
pour le fermer:
ActiveWorkbook.Close savechanges:=False 'ou True
Mais les sélectionner successivement pour copier des données?
il faut bien les activer pour copier/coller dans les 2 fichiers?
pour l'ouvrir:
Workbooks.Open Filename:="E:\Airvault\Fabrication\optimix\" & valeur & " "
pour le fermer:
ActiveWorkbook.Close savechanges:=False 'ou True
Mais les sélectionner successivement pour copier des données?
il faut bien les activer pour copier/coller dans les 2 fichiers?
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
28 févr. 2016 à 17:05
28 févr. 2016 à 17:05
Dans le classeur que j'ai mis, il suffit de cliquer sur la cellule avec le nom du classeur pour l'ouvrir. Ensuite tu fais tes manipulations sur chaque classeur et tu les fermes.
Je ne peux pas t'aider plus, je suis désolé.
@+
Je ne peux pas t'aider plus, je suis désolé.
@+
Jean-luc7964
Messages postés
8
Date d'inscription
dimanche 14 février 2016
Statut
Membre
Dernière intervention
28 février 2016
28 févr. 2016 à 18:58
28 févr. 2016 à 18:58
ok
Merci pour ton aide
Merci pour ton aide