Bonjour,
J'ai fais un programme sous vba qui fonctionne, mais dans certains cas je dépasse le nombre de lignes d'excel (65000), on m'a dit qu'au lieu de récupérer mes résultats sur une feuille dans excel ( comme c'est le cas pour l'instant) je n'avais qu'à récupérer mes résultats dans un fichier texte ou dans un csv, mais je n'arrive pas à le faire..
(à noter que je comptais le faire 60 000 par 60 000, donc je compte en fait les stocker dans une feuille "résultats" sur excel et les transférer dans un fichier csv lorsque la feuille excel est remplie, et revider la feuille excel, etc.. je pourrais aussi les stocker petit à petit dans le fichier csv, je verrais par la suite, mais en attendant je n'arrive même pas à transférer dans le fichier csv)
Une amie qui n'est plus là pour m'aider, m'a donné un exemple :
Code Visual Basic :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 Dim oFSO Dim strChemin As String Dim strCheminComp As String Set oFSO = CreateObject("Scripting.FileSystemObject") strChemin = ThisWorkbook.Path strCheminComp = ThisWorkbook.FullName dossier = oFSO.GetBaseName(strChemin) Fichier = oFSO.GetBaseName(strCheminComp) Dim stgOut1 As String Dim stgOut2 As String fich1 = "F:\outilswgsr" Fich = fich1 & "\" & "resultats" & ".csv" Open Fich For Output As #1 Do While Workbooks("" & Fichier & ".xls").Sheets("résultats").Cells(2, j).Value <> "" stgOut1 = Sheets("résultats").Cells(2, j) Do While Sheets("résultats").Cells(k, j) <> "" stgOut1 = stgOut1 & ";" & Sheets("résultats").Cells(k, j) k = k + 1 Loop Print #1, (Trim(stgOut1)) j = j + 1 Loop Close 1
à la ligne "Do While" ça ne fonctionne plus et m'affiche le message d'erreur suivant : Erreur d'éxécution '1004' erreur définie par l'application ou par l'object..
il faut savoir que le fichier "résultats.csv" est bien créé, mais il est toujours vide.
Pouvez vous m'aider?
merci d'avance
Partager