Ouverture multiple de fichiers, fonction GetOpenFilename
misterkarma
Messages postés14Date d'inscriptionlundi 10 juillet 2006StatutMembreDernière intervention19 juillet 2006
-
10 juil. 2006 à 10:31
misterkarma
Messages postés14Date d'inscriptionlundi 10 juillet 2006StatutMembreDernière intervention19 juillet 2006
-
10 juil. 2006 à 11:02
Salut tout le monde !
J'ai un problème dans une macro Excel, je souhaite me servir de la fonction GetOpenFileName qui permet à l'utilisateur de choisir un ou plusieurs fichiers (cette fonction ne fait que les lire, elle ne les ouvre pas), puis je voudrais les ouvrir les uns en dessous des autres dans la même feuille Excel.
Voilà mon programme, qui marche très bien pour un seul fichier texte :
'Lecture du nom de fichier rentré par l'utilisateur
fileToOpen = Application.GetOpenFilename(FileFilter:="Text Files (*.txt), *.txt", MultiSelect:=False)
If fileToOpen <> False Then
MsgBox "Open" & fileToOpen
Else: Workbooks("ClasseurStats.xls").Close SaveChanges:=False
End If
'Ouverture du fichier texte sous Excel
Workbooks.OpenText Filename:=fileToOpen, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, Comma:=False, Space:=False, Other:=False
PROBLEME
: quand MultiSelect: =True (c'est mon but, pouvoir choisir plusieurs fichiers), fileToOpen est censé devenir un tableau de noms de fichiers.......... Qu'est-ce que je dois changer dans mon code ? Comment manipuler ce tableau au moment de l'ouverture ?
Je n'arrive pas à manipuler ce fileToOpen quand ce n'est plus un simple nom de fichier, mais un tableau de noms de fichiers.......
Merci d'avance pour vos réponses !!
A voir également:
Ouverture multiple de fichiers, fonction GetOpenFilename
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 10 juil. 2006 à 10:45
Salut,
Tu fait une boucle du style
For i = 1 To UBound(FileToOpen)
'Ouverture du fichier texte sous Excel
Workbooks.OpenText Filename:=FileToOpen(i), Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=True, Comma:=False, Space:=False, Other:=False
Next
@+, Julien Pensez: Moteur de Recherche, Réponse Acceptée, Règlement/FONT>
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 10 juil. 2006 à 10:53
ca te renvoie UNE SEULE chaine de caractère, contenant le nom du repertoire, suivit d'un caractère \0 puis les noms des fichiers, séparés par des \0 (vbNullChar)
misterkarma
Messages postés14Date d'inscriptionlundi 10 juillet 2006StatutMembreDernière intervention19 juillet 2006 10 juil. 2006 à 11:02
En réponse à Julien :
les multiples fichiers .txt sont ouverts mais à chaque fois dans un classeur différent, alors que je les voudrais non seulement dans le même classeur mais aussi à la suite les uns des autres dans la même feuille (ils ont les mêmes séparateurs, un nombre de colonnes fixe (40), et je souhaite leur appliquer par la suite un traitement global (exemple : changement du format de telle ou telle colonne))
En réponse à Renfield :
D'accord, j'avais lu dans l'aide de VB que c'était un tableau...