Bonjour,
je boss depuis trois jours sur une petite séquence visual basic sur excel et j'avoue être bloqué. Voilà, dans le cadre de mon travail, j'éssaie de simplifier une tâche répétitive pour d'autres personnes. Le but final de ma séquence sera d'importer environ 1000 fichiers ascii chacun dans un nouveau doc excel.
Je vais expliquer rapidement comment je m'y prends: afin que mon outil soit simple d'utilisation, je pars d'une feuille excel sur laquelle je mets des boutons de commandes afin que, une fois finie, les personnes qui utiliseront ma séquence auront en face d'eux une simple page excel avec des boutons à cliquer (je ne passe pas par visual studio car je ne l'ai pas). Ma séquence commence par créer un nouveau document excel dans le lequel je vais importer mes data.
Voici où je suis coincé: quand je demande à importer mes data ascii, elles sont bien importées mais le souci c'est qu'elles sont importées dans ma feuille excel modèle où sont situés les boutons de commande et non pas dans la nouvelle feuille excel que j'ai créée au début de la séquence. Voici le code que j'utilise:
===> Lorsque je clique sur le bouton 1
Voilà, et si je mets "Sheets("BRUTES").Select" en commentaire les data sont importées dans ma feuille xls contenant les boutons de commande; si je le laisse actif, ça ne marche pas du tout.
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
36
37
38
39
40 Private Sub CommandButton1_Click() 'creation d'une feuille excel vierge Workbooks.Add 'Ajout une feuille excel Sheets.Add Sheets("Sheet1").Move After:=Sheets(4) 'Renomme feuilles excel Sheets("Sheet4").Select Sheets("Sheet4").Name = "INFOS" Sheets("Sheet2").Select Sheets("Sheet2").Name = "BRUTES" Sheets("Sheet3").Select Sheets("Sheet3").Name = "COURBES BRUTES" Sheets("Sheet1").Select Sheets("Sheet1").Name = "COURBES TRAITESS" End Sub ====> Lorsque je clique sur mon 2e bouton, et c'est là que ça bloque.. Sub CommandButton2_Click() Sheets("BRUTES").Select With ActiveSheet.QueryTables.Add(Connection:= _ "TEXT;E:\ZJUNIN.001", Destination:= _ Range("A1")) .Name = "ZJUNIN" .FieldNames = True .PreserveFormatting = True .RefreshStyle = xlInsertDeleteCells .SaveData = True .AdjustColumnWidth = True .TextFilePlatform = 437 .TextFileStartRow = 1 .TextFileParseType = xlDelimited .TextFileTextQualifier = xlTextQualifierDoubleQuote .TextFileConsecutiveDelimiter = True .TextFileSpaceDelimiter = True .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1) .TextFileTrailingMinusNumbers = True End With End Sub
J'espère ne pas avoir été trop exhaustif, j'espère que certains pourront me donner quelques conseils, car là je suis complètement bloqué et évidemment le temps joue contre moi car je dois finir la séquence avant vendredi.
Voici aussi un exemple de fichier importé:
-1.46 -0.0893 0.315 0.946 -1.13 -2.4 1.05 0.743
63.1 0.442 67.6 75.3 0.698 28.4 60
-1.07 0.156 0.4 3.48 -1.59 -3.11 1.25 0.821
79.4 0.363 33.9 76.3 0.757 24.7 67.3
-1.2 -0.0643 0.0947 2.03 -1.16 -3.17 1.44 1.45
100 0.433 18.3 46.1 0.773 17.6 39.2
-0.566 -0.449 1 1.16 -2.35 -1.69 0.934 1.47
Par avance merci à tous ceux (et celles) qui pourront m'aider,
bien amicalement,
Sébastien
Partager