lancer la recherche d'un fichier puis continuer la macro
Le
denis le breton

Meilleurs vieux à tous et à meilleurs jeunes à toutes.
Je cherche comment dans u ne macro
1) rechercher un fichier, son emplacement et son nom sera choisi par
l'utilisateur
2) continuer ma macro qui consiste à travailler sur le fichier choisi
Comment faire ?
je sais lancer l'explorateur x = Shell("C:winntexplorer.exe", 3)
(mais je souhaite faire l'équivalent de fichier ouvrir)
mais comment reprendre la main après?
Je cherche comment dans u ne macro
1) rechercher un fichier, son emplacement et son nom sera choisi par
l'utilisateur
2) continuer ma macro qui consiste à travailler sur le fichier choisi
Comment faire ?
je sais lancer l'explorateur x = Shell("C:winntexplorer.exe", 3)
(mais je souhaite faire l'équivalent de fichier ouvrir)
mais comment reprendre la main après?
Utilise pour cela Application.GetOpenFilename
Essaye ceci
Private Sub CommandButton1_Click()
Application.Dialogs(xlDialogOpen).Show ("c:zaza.xls") 'pour proposer l
'ouverture de zaza.xls
End Sub
ou encore dans un module
Function ChoixDossier(Chemin)
Dim objShell, objFolder
Msg = "Voici votre répertoire:"
Set objShell = CreateObject("Shell.Application")
'Cette ligne affiche répertoire et fichiers du répertoire.
'Set objFolder = objShell.BrowseForFolder(&H0&, Msg, &H4000, Chemin)
'Cette Ligne = pour afficher seulement les répertoires
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, &H1&, Chemin)
On Error Resume Next
Chemin = objFolder.parentFolder.ParseName(objFolder.Title).Path & ""
ChoixDossier = Chemin
ledos = Chemin & ""
Msgbox ledos
End Function
Sub OuvrirRépertoire()
Dim CheminEtFichier As String
LeDossier = ThisWorkbook.Path
CheminEtFichier = ChoixDossier(LeDossier)
End Sub
salutations
Gilbert
"Michel Gaboly" news:%
l'aide sur la fonction dit
Affiche la boîte de dialogue standard Ouvrir et lit un nom de fichier tapé
par l'utilisateur sans réellement ouvrir les fichiers.
je cherche à ouvrir le fichier pour lui appliquer un traitement
Je te remercie de l'aide mais cela ne répond complètement à ma question
Merci
denis
La voici en entier :
Bonjour Denis,
Utilise pour cela Application.GetOpenFilename
Cela affiche le dialogue d'ouverture, et permet à l'utilisateur de
choisir un fichier, sans que celuii-ci soit effectivement ouvert.
C'est la suite du traitement qui ouvre le fichier après une éventuelle
vérification : si l'utilisateur est censé ouvrir un fichier nommé
VentesXXX et choisit autre chose, tu peux afficher un message et
réafficher le dialogue d'ouverture.
Voici un exemple de code
Sub Ouvre()
Dim DocChoisi
DocChoisi = Application.GetOpenFilename
If DocChoisi = False Then
' Traitement si le bouton Annuler a été choisi
Else
' Vérification éventuelle que le fichier choisi est
conforme à ce qui est attendu
'
' Ouverture
Workbooks.Open DocChoisi
End If
End Sub
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B
Site pour bien commencer
Access http://users.skynet.be/mpfa/
Excel http://www.excelabo.net
Site perso
http://access.cfi.free.fr
"Michel Gaboly"
Cela me ressemle en effet assez peu ;-))
Tous mes voeux pour 2005.
--
Cordialement,
Michel Gaboly
www.gaboly.com
Tu ne le sais peut-être pas, mais Google permet de faire des recherches
dans les news.
Pour cela, dans la page d'accueil, clique sur "Groupes", puis
éventuellement dans la nouvelle page affichée, sur "Groupes - Recherche
avancée", qui te permet par exemple de limiter ta recherche au seul
microsoft.public.fr.excel
Tu y trouveras des trésors. Voici un exemple pour GetOpenFilename :
http://www.google.fr/groups?hl=fr&lr=&ie=ISO-8859-1&q=GetOpenFilename&btnG=Rechercher&meta=group%3Dmicrosoft.public.fr.excel
Par ailleurs, pour info, il existe également une méthode pour
l'enregistrement, GetSaveAsFileName.
--
Cordialement,
Michel Gaboly
www.gaboly.com
Et c'est aussi pour cela que ce genre de groupe de discussion m'est plus
profitable que google.
Trop d'info tue l'info.
Toutefois ne jetons pas la pierre et ne tombons pas de l'excès inverse.
Trop utiliser les newsgroups lasse les MVP à réecrire ce qui l' a été.
Trop utiliser les moteurs de recherches tue les newsgroups.
Allez assez philosophé. Encore merci de toutes les bonnes volontés qui
dépannent de modestes utilisateurs par leur savoir, leur diponibilté et leur
gentillesse.
Et sans vouloir abuser, je continuerai à vous solliciter ô MVP.
Denis
Quand j'ai évoqué Google, il s'agissait de retrouver des fils de
discussion de ce forum sur un sujet donné. Ce n'est pas Google ou ce
genre de forum, mais les archives de CE forum via Google.
Je te conseille vivement d'essayer, tu y trouveras vraiment beaucoup de
choses.
Quand à l'emploi de CreateObject("Shell.Application"), c'est moins
universel que GetOpenFileName, car limité aux versions Windows :
pourquoi utiliser un outil spécifique à une plate-forme quand des outils
plus généraux existent ?
--
Cordialement,
Michel Gaboly
www.gaboly.com
on a créé !!
Bien sur on peut faire aussi comme cela !!
Private Sub CommandButton1_Click()
'Application.GetOpenFilename ' affiche la boîte de dialogue sans ouvrir
Dim FichChoisi
FichChoisi = Application.GetOpenFilename
If FichChoisi = False Then
' Si le bouton Annuler a été choisi
MsgBox "Annulé"
Else
' Ouverture
Workbooks.Open FichChoisi
'vérification du chemin est du fichier choisi
'MsgBox FichChoisi
End If
End Sub
Salutations
Gilbert
"Michel Gaboly" news: