Bonjour,

je fais appel à vous, car cela fait deux semaines que je tourne en rond.
Je vous expose mon problème :

je désire récupérer des données présentes dans des fichiers txt.
Je scrute le fichier txt, je lis chaque ligne via la méthode Line Input #.
Je pose chaque donnée lue dans une cellule. A la fin je me retrouve avec une colonne de données en format texte.
pour pouvoir travailler avec ces données, à chaque fois que je pose une donnée dans une cellule je la multiplie par 1.
puis je selectionne la colonne et j'impose le format "General".

Tous ceci fonctionne pour le premier fichier lu, mais les suivant reste en format texte.
Et là je ne sais plus comment faire.

Merci d'avance pour votre aide.
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
 
    Sub OuvertureFichier()
 
'La lecture d'une ligne se fait via la méthode Line Input #.
'Le contenu est alors envoyé dans une variable de type String.
'Cet exemple ne lit qu'une seule ligne : la première. Pour lire la totalité du fichier,
'il faut itérer l'opération jusqu'à la fin du fichier.
'La fonction EOF (End Of File) permet de savoir si la fin du fichier a été atteinte.
 
Dim intFic As Integer
Dim strLigne As String
Dim Ligne As Integer
Dim Col As Integer
intFic = FreeFile
Ligne = 3 'permet de commencer à écrire les valeurs à la ligne 4 dans Ligne=Ligne+1
Col = 1 'je positionne en colonne 1
 
 
Open "C:\Users\marin\Desktop\MonDossierEssais\memeSonde\P180516\104.DON" For Input As intFic
While Not EOF(intFic)
    Ligne = Ligne + 1
    Line Input #intFic, strLigne
'    MsgBox strLigne
    Cells(Ligne, Col) = strLigne
    Cells(Ligne, Col) = Cells(Ligne, Col) * 1
Wend
 
Range("A4").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "General"
 
Close intFic
 
Selection.Copy ' copie la colonne selectionnée
Range("E4").Select ' position en E4
ActiveSheet.Paste ' copie la colonne
'----------------------------------------------------------------------------------------------------
 
Range("A4").Select                                      'je positionne en A4
    Range(Selection, Selection.End(xlDown)).Select      'je sélectionne la colonne
    Application.CutCopyMode = False                     'j'éfface la colonne
    Selection.ClearContents                             '
    'Range("A4").Select                                 '
 
'----------------------------------------------------------------------------------------------------
Ligne = 3 'permet de commencer à écrire les valeurs à la ligne 4 dans Ligne=Ligne+1
Col = 1 'je positionne en colonne 1
 
 
Open "C:\Users\marin\Desktop\MonDossierEssais\memeSonde\P165829\1.DON" For Input As intFic
While Not EOF(intFic)
    Ligne = Ligne + 1
    Line Input #intFic, strLigne
'    MsgBox strLigne
    Cells(Ligne, Col) = strLigne
    Cells(Ligne, Col) = Cells(Ligne, Col) * 1
Wend
 
 
 
End Sub