Bonjour,
J'ai un soucis pour la configuration d'une maccro pour Excel.
Lors de l’acquisition de données, je reçois un fichier en format fichier. Ce fichier lorsque je l'ouvre avec le bloc note contient des lignes comme suit:
|1 |P abso | 5.15738 | 0.989478 |6.5239e-05|Bar abs |237 |
Je voudrais, si possible, que la macro propose a l'utilisateur de selectionner le fichier dans une fenetre windows et que par la suite la macro puissent récupérer le texte et le diviser en cellule lorsqu'il y a le caractère "|" et l'écrire dans une nouvelle fenêtre de mon fichier excel ( prédéfini ou non).
Est ce que tous cela est possible ? Auriez vous une solution?
J'avais commencé à le rediger, voila ce que cela donne
Le soucis, il faut que je passe le fichier en format .txt et le texte est écrit dans un nouveau fichier excel.
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 Sub ouvrir_fichier() FichiersChoisis = Application.GetOpenFilename("fichiers texte, *.txt", , , , True) If IsArray(FichiersChoisis) Then For i = 1 To UBound(FichiersChoisis) fichier = FichiersChoisis(i) Workbooks.OpenText Filename:=fichier, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _ :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, Semicolon:= _ False, Comma:=False, Space:=False, Other:=True, FieldInfo:=Array(1, 1), _ TrailingMinusNumbers:=True ' 'traitement à réaliser ' 'enregistrement du fichier ActiveWorkbook.SaveAs Filename:=Left(fichier, Len(fichier) - 4) & ".xls", FileFormat:=xlNormal, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False Next End If End Sub
De plus, je n'arrive pas faire remplacer le " | " par une cellule suivante (ex: lors la lecture de ce caractere, le texte est coupé a cet endroit et on passe de la cellule (i,j) à (i;j+1).
Si quelque chose n'est pas clair, n'hesitez pas à me demander. Merci d'avance.
Partager