Bonjour,
Je suis tout nouveau sur le forum et dans le monde du VBA, donc merci pour ce super forum et les conseils qui y sont prodigués.
**Mon objectif :
je suis en train de crée une macro dans le but de mettre en forme une série de données qui sont au départ sous forme CSV (séparateur point-virgule) du genre :
une belle ligne de données bien indigeste !
Code : Sélectionner tout - Visualiser dans une fenêtre à part 04/07/2007 12:24:38.118,0.006,-7.081004E+00,"04/07/2007 12:24:38.165",0.053,+2.207900E+01,"04/07/2007 12:24:38.213",0.101,-1.943282E+00,04/07/2007 12:24:38.260",0.148,+7.424000E+00,"04/07/2007 12:24:38.308",0.196,-6.390870E+00
Et je compte transformer ces données dans le but d'obtenir un tableau avec ces données en format plus lisible et séparées dans différentes colones.
pour cela j'ai rédigé le code suivant :
**plusieurs actions sucessives :
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 Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1), Array(6, 1), _ Array(7, 1), Array(8, 1), Array(9, 1), Array(10, 1), Array(11, 1), Array(12, 1), Array(13, 1 _ ), Array(14, 1), Array(15, 1), Array(16, 1), Array(17, 1), Array(18, 1), Array(19, 1), Array _ (20, 1), Array(21, 1), Array(22, 1), Array(23, 1), Array(24, 1), Array(25, 1), Array(26, 1), _ Array(27, 1), Array(28, 1), Array(29, 1), Array(30, 1), Array(31, 1), Array(32, 1), Array( _ 33, 1)) Range( _ "D:D,E:E,G:G,H:H,J:J,K:K,M:M,N:N,P:P,Q:Q,S:S,T:T,V:V,W:W,Y:Y,Z:Z,AB:AB,AC:AC,AE:AE,AF:AF" _ ).Select ' Range("AF1").Activate Selection.Delete Shift:=xlToLeft Range("B:M").Select Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _ SearchOrder:=xlByColumns, MatchCase:=False Selection.Replace What:=".", Replacement:="," Selection.NumberFormat = "General"
* sélection de la première colone et grâce à la fonction "convertir" passage des différents données en plusieurs colones (ça marche très bien)
* suppression de quelques colones pour supprimer des informations redondante (ça marche très bien)
* mes chiffres étant écrit à avec des "." et non des "," je me dit grâce a la fonction replace je vais transformer mes points en virgules. ET LA CA MARCHE PLUS![]()
. les points sont effectivement remplacé par des virgules mais tout mes nombres sont multiplier par 10^6 ! par example : 7.371000E+00 est transformé en 7,37E+06, et je vois vraiment pas pourquoi !
* le but ensuite est de transformer le format de nombre de scientifique à générale.
Voilà si quelquu'un peu m'aider sur ce coup là, je l'en remercirais grandement !
Merci
Partager