J'ai fait une longue macro qui lit en entrée un fichier Excel et qui en traite les champs.
L'ouverture ressemblait à quelque chose du style:
(Le nom de mon fichier étant contenu dans la cellule pointée)
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set classeurSource = Workbooks.Open(ThisWorkbook.Sheets(1).Cells(2, "C"))
Après dans mon code, je fais ce genre de choses:
Là où le bat blesse c'est que maintenant il faut que mon programme marche aussi pour des fichiers CSV avec séparateur ;
Code : Sélectionner tout - Visualiser dans une fenêtre à part tamponString = classeurSource.Sheets(1).Cells(i, j)
J'ai donc cherché sur les forums et sur les tuto, et je pensais avoir trouvé la solution, mais en fait ça ne marche pas top. Dans un premier temps je vérifie l'extension de mon fichier et si c'est CSV, à ce moment là, je traite le fichier avec une ligne vue sur le forum...
Il me dit: Fonction ou Variable non attendue sur OpenText
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Dim FSO 'Ouverture du gestionnaire de fichiers Set FSO = CreateObject("Scripting.FileSystemObject") 'Ouverture du classeur qui contient les données en entrée If (FSO.GetExtensionName(ThisWorkbook.Sheets(1).Cells(2, "C")) = "csv") Then Set classeurSource = Workbooks.OpenText((ThisWorkbook.Sheets(1).Cells(2, "C")), xlWindows, 2, xlDelimited, xlDoubleQuote, False, False, True, False, False, False, Array(1, 1), True) Else Set classeurSource = Workbooks.Open(ThisWorkbook.Sheets(1).Cells(2, "C")) End If
J'avais essayé:
Mais là il me dit erreur de syntaxe...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Set classeurSource = Workbooks.OpenText Filename:=(ThisWorkbook.Sheets(1).Cells(2, "C")), Origin:=xlWindows, _ StartRow:=1, DataType:=xlDelimited, Semicolon:=True
Une idée?![]()
Partager