Coller un nom de fichier dans la boite de dialogue ouvrir d'excel
Picdumainepoint
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour
je suis un novice en vba ( depuis 3 semaines) et j'ai déjà beaucoup appris sur son fonctionnement
j'ai créé dans un fichier xltm plusieurs petites macro comme créer un formulaire avec combobox, , zoe texte, ajouter des enregistrement effacer etc , programé des filtrages suivant des critères, mais voilà je bloque sur une macro me permettant de selectionner par un double clic un nom de fichier qui est avec son extension ( xls ou xlsx) dans une liste de mon fichier xltm et de de le copier dans la boite de dialogue ouvrir pour que je puisse l'ouvrir ou l'ouvrir directement ce qui serait encore mieux
Je précise que mon fichier xltm et mes fichiers xls ou xlsm sont toujours dans le même répertoire
mais le répertoire n'est pas toujours dans le même lecteur ( c,d,, f ou g)
Voilà j'espère avoir été assez clair et je m'en remets à qui voudra m'aider
en le remerciant par avance
je suis un novice en vba ( depuis 3 semaines) et j'ai déjà beaucoup appris sur son fonctionnement
j'ai créé dans un fichier xltm plusieurs petites macro comme créer un formulaire avec combobox, , zoe texte, ajouter des enregistrement effacer etc , programé des filtrages suivant des critères, mais voilà je bloque sur une macro me permettant de selectionner par un double clic un nom de fichier qui est avec son extension ( xls ou xlsx) dans une liste de mon fichier xltm et de de le copier dans la boite de dialogue ouvrir pour que je puisse l'ouvrir ou l'ouvrir directement ce qui serait encore mieux
Je précise que mon fichier xltm et mes fichiers xls ou xlsm sont toujours dans le même répertoire
mais le répertoire n'est pas toujours dans le même lecteur ( c,d,, f ou g)
Voilà j'espère avoir été assez clair et je m'en remets à qui voudra m'aider
en le remerciant par avance
A voir également:
- Coller un nom de fichier dans la boite de dialogue ouvrir d'excel
- Comment ouvrir un fichier epub ? - Guide
- Comment ouvrir un fichier bin ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .dat - Guide
- Comment ouvrir un fichier docx ? - Guide
6 réponses
Bonjour,
Voir ceci:
https://grenier.self-access.com/access/fichiers/boite-de-dialogue-fichierouvrir/
un exemple pour ouvrir le classeur:
voilà
Voir ceci:
https://grenier.self-access.com/access/fichiers/boite-de-dialogue-fichierouvrir/
un exemple pour ouvrir le classeur:
Option Explicit Private Sub CommandButton1_Click() ' Create and set the file dialog object. Dim fd As Office.FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) With fd .Filters.Clear .Title = "Select an Excel File" .Filters.Add "Excel Files", "*.xlsx?", 1 .AllowMultiSelect = False Dim sFile As String If .Show = True Then sFile = .SelectedItems(1) End If End With If sFile <> "" Then Workbooks.Open sFile ' Open the Excel file. End If End Sub
voilà
Bonjour cs_LePivert
Tout d’abord Un Grand Merci pour m'avoir Répondu aussi vite
J'ai donc créer un bouton de commande dans ma feuille "Source"(feuille où j'ai saisi ma liste de fichiers colonne A Début de liste Cellule 4
la macro fonctionne pour afficher de la boite de dialogue lorsque je clique sur un titre de fichier quelconque de ma liste mais il me sélectionne toujours le premiernom de fichier de la liste et le copie quelques fois (pas toujours) dans la boite de dialogue "Ouvrir" nom de fFichier
A savoir que j'ai changé .Filters.Add"ExcelFiles,"*.xlsx?," 1
par .Filters.Add "ExcelFiles", "*.xls, *.xls, *.xlsx, *.xlsx", 1
Voilà
Encore merci pour votre réactivité
Tout d’abord Un Grand Merci pour m'avoir Répondu aussi vite
J'ai donc créer un bouton de commande dans ma feuille "Source"(feuille où j'ai saisi ma liste de fichiers colonne A Début de liste Cellule 4
la macro fonctionne pour afficher de la boite de dialogue lorsque je clique sur un titre de fichier quelconque de ma liste mais il me sélectionne toujours le premiernom de fichier de la liste et le copie quelques fois (pas toujours) dans la boite de dialogue "Ouvrir" nom de fFichier
A savoir que j'ai changé .Filters.Add"ExcelFiles,"*.xlsx?," 1
par .Filters.Add "ExcelFiles", "*.xls, *.xls, *.xlsx, *.xlsx", 1
Voilà
Encore merci pour votre réactivité
Eh oui c'est encore moi
je suis donc aller dans le lien, j'ai suivi tous le process et essayé les codes que j'ai essayé d'adapter avec fichier xls et xlsx et j'ai copié InitialFilename = Range "(A4:A100)"
mais le résultat est toujours le même aucune ,copie du fichier sélectionné dans la boite de dialogue
je pense que je ne dois pas savoir m'y prendre avec ce satané code
car l'ouverture de la boite de dialogue se fait impeccablement
Bon j'ai déjà beaucoup appris en 3 semaines en consultant les différents tutos et FAQet en essayer d'écrire des codes
Si un jour vous avez d'autres idées je suis preneur
merci encore pour votre attention
je suis donc aller dans le lien, j'ai suivi tous le process et essayé les codes que j'ai essayé d'adapter avec fichier xls et xlsx et j'ai copié InitialFilename = Range "(A4:A100)"
mais le résultat est toujours le même aucune ,copie du fichier sélectionné dans la boite de dialogue
je pense que je ne dois pas savoir m'y prendre avec ce satané code
car l'ouverture de la boite de dialogue se fait impeccablement
Bon j'ai déjà beaucoup appris en 3 semaines en consultant les différents tutos et FAQet en essayer d'écrire des codes
Si un jour vous avez d'autres idées je suis preneur
merci encore pour votre attention
Ce que je te propose, c'est d'ouvrir le classeur que tu veux copier et de l'enregistrer en copie si c'est dans le même dossier:
Voilà
@+ Le Pivert
Option Explicit Private Sub CommandButton1_Click() Dim chemin As String Dim fileSaveName As String Dim sFile As String ' Create and set the file dialog object. Dim fd As Office.FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker) 'boite dialogue ouverture With fd .Filters.Clear .Title = "Select an Excel File" .Filters.Add "ExcelFiles", "*.xls, *.xls, *.xlsx, *.xlsx", 1 .AllowMultiSelect = False If .Show = True Then sFile = .SelectedItems(1) End If End With If sFile <> "" Then chemin = sFile Workbooks.Open sFile ' Open the Excel file. fileSaveName = Application.GetSaveAsFilename(chemin, "ExcelFiles (*.xlsx), *.xlsx") 'boite dialogue enregistrement ActiveWorkbook.SaveCopyAs fileSaveName 'enregistrement classeur copier ActiveWorkbook.Close ' on ferme le classeur copier MsgBox "Enregistrement copie effectué à : " & fileSaveName, vbInformation, "Enregistrement copie" End If End Sub
Voilà
@+ Le Pivert
Bonsoir Le Pivert
J'ai donc essayé le code mais cela ne fonctionne pas comme je le désirai
je pense que le problème vient de l'énoncé de mon action
J'ai créer une base de données dans excel avec des noms de fichiers (de fiches techniques de fabrication pour être plus précis) dans cette base de données j' y ai inclus des critères comme classification du mets, composition du mets etc ce qui me permet d'effectuer un filtrage assez précis de mes fiches
de ce filtrage, j'obtiens quelques noms de fiche qui sont saisis avec leurs extension dans la colonne $A$
d'une feuille appelée "Source" et je voulais simplement cliquez sur le nom de fichier afin qu'il se reporte dans la boite de dialogue "ouvrir"
dans la zone texte" nom de fichier" et que je puisse simplement cliquer sur le bouton ouvrir plutôt que d'effectuer une recherche manuelle ce qui est assez contraignant lorsqu'il y a 300 ou 400 fiches
Voilà Je vous remercie d'avoir tenter de m'aider
je pense que je ne m'avoue pas vaincu et je trouverait un jour ou l'autre la solution
Merci encore pour votre disponibilité
J'ai donc essayé le code mais cela ne fonctionne pas comme je le désirai
je pense que le problème vient de l'énoncé de mon action
J'ai créer une base de données dans excel avec des noms de fichiers (de fiches techniques de fabrication pour être plus précis) dans cette base de données j' y ai inclus des critères comme classification du mets, composition du mets etc ce qui me permet d'effectuer un filtrage assez précis de mes fiches
de ce filtrage, j'obtiens quelques noms de fiche qui sont saisis avec leurs extension dans la colonne $A$
d'une feuille appelée "Source" et je voulais simplement cliquez sur le nom de fichier afin qu'il se reporte dans la boite de dialogue "ouvrir"
dans la zone texte" nom de fichier" et que je puisse simplement cliquer sur le bouton ouvrir plutôt que d'effectuer une recherche manuelle ce qui est assez contraignant lorsqu'il y a 300 ou 400 fiches
Voilà Je vous remercie d'avoir tenter de m'aider
je pense que je ne m'avoue pas vaincu et je trouverait un jour ou l'autre la solution
Merci encore pour votre disponibilité
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bonjour,
si tu as le nom et le chemin du fichier il faut l'ouvrir directement.
Inutile d'utiliser une boite de dialogue pour un unique fichier qu'on ne doit pas changer.
A toi de trouver le bon lecteur qui contient le chemin voulu.
eric
si tu as le nom et le chemin du fichier il faut l'ouvrir directement.
Inutile d'utiliser une boite de dialogue pour un unique fichier qu'on ne doit pas changer.
A toi de trouver le bon lecteur qui contient le chemin voulu.
eric
Bonsoir Eric
merci je sais , je suis novice mais quand même pas au point de me compliquer la vie pour rien. Au contraire je cherche à me la faciliter.
Seulement le hic c'est que je n'ai pas un seul fichier mais entre 350 et 400 qui sont tous dans le même répertoire mais pas toujours sur le même lecteur (suivant l'endroit ou je me trouve et mes besoins)comme expliqué dans les messages précédents
Bonne soirée.
merci je sais , je suis novice mais quand même pas au point de me compliquer la vie pour rien. Au contraire je cherche à me la faciliter.
Seulement le hic c'est que je n'ai pas un seul fichier mais entre 350 et 400 qui sont tous dans le même répertoire mais pas toujours sur le même lecteur (suivant l'endroit ou je me trouve et mes besoins)comme expliqué dans les messages précédents
Bonne soirée.
Ce n'est pas à ta 1ère question que je peux me faire une idée de ton niveau ;-)
Soit tu n'as pas compris ma réponse, soit je ne comprend pas ton problème.
Tu redis pourtant clairement que c'est un fichier précis parmi 400, que tu connais le chemin mais pas le lecteur.
Tu récupères la liste des lecteurs (ou tu balaies de A à Z), tu boucles dessus avec :
ch ="" (vide) si le chemin n'existe pas (et donc éventuellement le lecteur)
et si ch="C:\rep1\rep2", c'est bon, tu l'as trouvé, plus qu'à ouvrir ton fichier sans rien demander à personne.
eric
Soit tu n'as pas compris ma réponse, soit je ne comprend pas ton problème.
Tu redis pourtant clairement que c'est un fichier précis parmi 400, que tu connais le chemin mais pas le lecteur.
Tu récupères la liste des lecteurs (ou tu balaies de A à Z), tu boucles dessus avec :
ch=Dir("C:\rep1\rep2", vbDirectory)
ch ="" (vide) si le chemin n'existe pas (et donc éventuellement le lecteur)
et si ch="C:\rep1\rep2", c'est bon, tu l'as trouvé, plus qu'à ouvrir ton fichier sans rien demander à personne.
eric