VBforfun
Messages postés10Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention 9 juin 2008
-
24 sept. 2007 à 17:23
VBforfun
Messages postés10Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention 9 juin 2008
-
25 janv. 2008 à 14:19
Bonjour,
Ayant cherché et fait des essais sans succès depuis pas mal d'heures, j'espère que l'un d'entre vous pourra m'apporter son aide.
A partir d'un fichier Excel ouvert, je souhaite ouvrir un fichier txt avec les contraintes suivantes :
1. Ouvrir la boite de dialogue Fichier/Ouvrir, si possible filtrée aux fichiers "prn,txt,csv", sinon "tous les fichiers", la boite s'ouvrant dans un répertoire prédéterminé dans le code VBA.
2. Sélectionner manuellement le fichier txt à ouvrir.
3. Ouvrir le fichier sans passer par la boite "Assistant d'importation" en 3 étapes, dont les paramètres seront aussi dans le code.
Le code sera inclus dans un module vba du fichier Excel.
VBforfun
Messages postés10Date d'inscriptionlundi 24 septembre 2007StatutMembreDernière intervention 9 juin 2008 25 janv. 2008 à 14:19
J'ai trouvé la solution (enfin, on m'a beaucoup aidé, il y a quelques temps déjà) et je pense utile de compléter ce sujet avec le code que j'ai utilisé et qui marche très bien :
'paramétrer le répertoire présenté par défaut
Const cstTxtPath = "C\Mon_Répertoire"
Dim lstrFileName As String
ChDrive cstTxtPath
ChDir cstTxtPath
lstrFileName = Application.GetOpenFilename("Fichier décrit comme je souhaite (*.txt), *.txt", 0, "Sélectionner le ficher de données souhaité")
' test si un fichier a été sélectionné
If lstrFileName = "Faux" Then
Dim Msg2, Style2, Title2, Help2, Ctxt2, Response2, MyString2
Msg2 = "Aucun fichier sélectionné." ' Définit le message.
Style2 = vbOKOnly ' Définit les boutons.
Title2 = "Abandon !" ' Définit le titre.
' Affiche le message.
Response2 = MsgBox(Msg2, Style2, Title2)
Else
Workbooks.OpenText FileName:=lstrFileName, _
Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:= _
xlDoubleQuote, Tab:=True, TrailingMinusNumbers:=True
ActiveWindow.ActivatePrevious
End If
FMatrix07
Messages postés233Date d'inscriptionmercredi 26 février 2003StatutMembreDernière intervention21 février 20092 24 sept. 2007 à 21:08
Bonjour
Tu peux passer le nom de ton fichier avec son chemin en variable dans ta macro ce qui fait que tu n'auras qu'a saisir ceux ci puis lancer ta macro.