VBA ouverture et recuperation du chemin
Résolu/Fermé
"Rone"
Messages postés
11
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
6 octobre 2008
-
30 sept. 2008 à 10:44
"Rone" Messages postés 11 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 6 octobre 2008 - 1 oct. 2008 à 11:01
"Rone" Messages postés 11 Date d'inscription lundi 29 septembre 2008 Statut Membre Dernière intervention 6 octobre 2008 - 1 oct. 2008 à 11:01
A voir également:
- Application.getopenfilename chemin
- Chemin unc ✓ - Forum Réseau
- Trouver le chemin d'un fichier linux - Forum Linux / Unix
- Excel formule nom fichier sans chemin - Forum Excel
- Aucun chemin de connexion discord - Forum Réseaux sociaux
- Le chemin d'accès du fichier rapport.doc peut être décrit par - Forum Bureautique
5 réponses
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
30 sept. 2008 à 13:07
30 sept. 2008 à 13:07
Bonjour,
1°) tu met MultiSelect:=False donc il n'y aurra jamais plusieur fichier et de ce fait OuvrirFichiers ne serra pas un tableau, tu doit forcer OuvrirFichiers par dim OuvrirFichiers() (pas tester)
2°) Si c'est un tableau la première occurence va commencer à zéro sauf si tu a mis Option Base =1
sinon, Workbooks.Open Filename:=OuvrirFichiers(0)
A+
1°) tu met MultiSelect:=False donc il n'y aurra jamais plusieur fichier et de ce fait OuvrirFichiers ne serra pas un tableau, tu doit forcer OuvrirFichiers par dim OuvrirFichiers() (pas tester)
2°) Si c'est un tableau la première occurence va commencer à zéro sauf si tu a mis Option Base =1
sinon, Workbooks.Open Filename:=OuvrirFichiers(0)
A+
"Rone"
Messages postés
11
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
6 octobre 2008
30 sept. 2008 à 13:43
30 sept. 2008 à 13:43
Merci de ta reponse, c'est vrai qu'avec Multiselect=True, le systeme fonctionne.
Mais je veux selectionner qu'un seul document à la fois tout en gardant au cas où la possibilité de selectionner plusieurs documents.
J'ai une autre requete, comment fais-ton pour recuperer le lien / le chemin vers le document que je veux ouvrir ?
exemple de lien que je veux recuperer: Program\documents\ventes\janvier2008.pdf
Mais je veux selectionner qu'un seul document à la fois tout en gardant au cas où la possibilité de selectionner plusieurs documents.
J'ai une autre requete, comment fais-ton pour recuperer le lien / le chemin vers le document que je veux ouvrir ?
exemple de lien que je veux recuperer: Program\documents\ventes\janvier2008.pdf
"Rone"
Messages postés
11
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
6 octobre 2008
30 sept. 2008 à 14:25
30 sept. 2008 à 14:25
En ajoutant le code pour fermer la boite de recherche si l'on clique sur annuler, celui-ci me fait bugué mon programme.
je ne peux plus executer.
Cela est due au type de OuvrirFichiers, mais je l'ai declaré comme variant donc il peut etre de tout type.
Pouvez vous m'aider? merci
je ne peux plus executer.
Cela est due au type de OuvrirFichiers, mais je l'ai declaré comme variant donc il peut etre de tout type.
Pouvez vous m'aider? merci
Private Sub CommandButton1_Click() Dim OuvrirFichiers As Variant 'modification du chemin par defaut' ChDir ("c:\") 'affichage de la boite de dialogue Ouvrir OuvrirFichiers = Application.GetOpenFilename(filefilter:="classeur Microsoft Excel(*.xls),*.xls,All Files (*.*),*.*,PageWeb(*.htm;*.html),*.htm;*.html", filterindex:=2, Title:="Ouverture des fichiers d'inspections", MultiSelect:=True) If OuvrirFichiers = False Then MsgBox "aucun fichier n'a été sélectionné. Fin de la procédure", _ vbOKOnly + vbCritical, "fin de la procédure" Exit Sub End If 'si l 'utilisateur a selectionné plusieurs fichiers If UBound(OuvrirFichiers) > 1 Then Dim rep As Long Dim liste As String Dim compteur As Byte For compteur = 1 To UBound(OuvrirFichiers) liste = liste & vbCr & OuvrirFichiers(compteur) Next compteur 'affichage de l'ensemble de la liste des fichiers et proposition d'ouverture rep = MsgBox("L'utilisateur a selectionné plusieurs fichiers. En voici la liste." & liste & vbCr & "voulez-vous les ouvrir ?", vbYesNo + vbQuestion, "ouvrir les fichiers ?") 'Ouverture des fichiers en cas de réponse positive If rep = vbYes Then For compteur = 1 To UBound(OuvrirFichiers) Worbooks.Open Filename:=OuvrirFichiers(compteur) Next compteur End If 'si un seul fichier a été selectionné, il est ouvert Else Workbooks.Open Filename:=OuvrirFichiers(1) End If End Sub
lermite222
Messages postés
8702
Date d'inscription
dimanche 8 avril 2007
Statut
Contributeur
Dernière intervention
22 janvier 2020
1 190
1 oct. 2008 à 00:02
1 oct. 2008 à 00:02
Re,
Tu tient aucun compte des remarques précédantes,
1°) tu insiste sur OuvrirFichiers(1) ???
2°) tu veux ouvrir un fichier pdf avec Excel ??? ... Program\documents\ventes\janvier2008.pdf
A quoi tu joue, je comprend plus rien. ?
A+++
Edit:
Pour pas que ça bug, comme tu dit, faut changer
Tu tient aucun compte des remarques précédantes,
1°) tu insiste sur OuvrirFichiers(1) ???
2°) tu veux ouvrir un fichier pdf avec Excel ??? ... Program\documents\ventes\janvier2008.pdf
A quoi tu joue, je comprend plus rien. ?
A+++
Edit:
Pour pas que ça bug, comme tu dit, faut changer
If OuvrirFichiers = "" Then MsgBox "aucun fichier n'a été sélectionné. Fin de la procédure", _ vbOKOnly + vbCritical, "fin de la procédure" Exit Sub End If
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
"Rone"
Messages postés
11
Date d'inscription
lundi 29 septembre 2008
Statut
Membre
Dernière intervention
6 octobre 2008
1 oct. 2008 à 11:01
1 oct. 2008 à 11:01
désolé Lermite,
Mon exemple: "Program\documents\ventes\janvier2008.pdf" est mauvais.
Car je veux ensuite transformé ce lien, en lien hypertext vers un fichier pdf.
Donc il est vrai que j'aurais du mettre un exemple en .xls
J'ai modifié le programme, et celui-ci marche bien.
Les explications que tu m'as donné au depart (que tu n'avais pas testé) ne marchait pas. J'ai reussi a faire fonctionné le programme, mais l'ajout de 3 lignes pour fermer la fenetre si aucun choix n'étais émis faisait disfonctionné le programme.
ce que tu me conseilles :
cela ne marche pas si Multiselect est a True, mais marche si il est a False.
J'ai modifié mon programme pour le simplifier, et j'ai abandonné le fait de pouvoir selectionné plusieurs dossier a ouvrir.
voici le programme maintenant.
merci encore
Mon exemple: "Program\documents\ventes\janvier2008.pdf" est mauvais.
Car je veux ensuite transformé ce lien, en lien hypertext vers un fichier pdf.
Donc il est vrai que j'aurais du mettre un exemple en .xls
J'ai modifié le programme, et celui-ci marche bien.
Les explications que tu m'as donné au depart (que tu n'avais pas testé) ne marchait pas. J'ai reussi a faire fonctionné le programme, mais l'ajout de 3 lignes pour fermer la fenetre si aucun choix n'étais émis faisait disfonctionné le programme.
If OuvrirFichiers = False Then MsgBox "aucun fichier n'a été sélectionné. Fin de la procédure", _ vbOKOnly + vbCritical, "fin de la procédure" Exit Sub End If
ce que tu me conseilles :
If OuvrirFichiers = "" Then
cela ne marche pas si Multiselect est a True, mais marche si il est a False.
J'ai modifié mon programme pour le simplifier, et j'ai abandonné le fait de pouvoir selectionné plusieurs dossier a ouvrir.
voici le programme maintenant.
Private Sub CommandButton1_Click() Dim OuvrirFichiers As Variant Dim aux As Variant 'modification du chemin par defaut' ChDir ("c:\") 'affichage de la boite de dialogue Ovrir OuvrirFichiers = Application.GetOpenFilename(filefilter:="classeur Microsoft Excel(*.xls),*.xls,All Files (*.*),*.*,PageWeb(*.htm;*.html),*.htm;*.html", filterindex:=2, Title:="Ouverture des fichiers d'inspections", MultiSelect:=False) If OuvrirFichiers = "False" Then Exit Sub End If Workbooks.Open Filename:=OuvrirFichiers MsgBox "chemin " & ActiveWorkbook.Path End Sub
merci encore