Bonjour,

Je suis sous Excel 2013.

J'ai des données qui sont exportées par une machine en format text, avec un séparateur décimal qui est un "."

j'ouvre ce classeur par l'intermédiaire d'une boite de dialogue que l'utilisateur rempli et qui me permet de récupérer le "nomfichier" à ouvrir

Voila la macro que je suis en train de tester.

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
Public Sub macro1()

Workbooks.OpenText Filename:= _
        nomfich, Origin:=xlWindows, StartRow:=1, DataType:=xlDelimited, TextQualifier _
        :=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, Semicolon:= _
        False, Comma:=False, Space:=False, Other:=False, FieldInfo:=Array(Array _
        (1, 1), Array(2, 1), Array(3, 1), Array(4, 1), Array(5, 1)), TrailingMinusNumbers:= _
        True
    
    p = 9
    While Cells(p, 1) <> "" 'détecte le numéro de la dernière cellule verticale qui contient une donnée
    p = p + 1
    Wend
    
    q = 1
    While Cells(9, q) <> "" 'détecte le numéro de la dernière cellule horizontale qui contient une donnée
    q = q + 1
    Wend
    
    Range(Cells(1, 1), Cells(p - 1, q - 1)).NumberFormat = "0.000000000000" 'cellule en format "Standard" que je change en format "Nombre"
    
    Range(Cells(1, 1), Cells(p - 1, q - 1)).Replace What:=".", Replacement:=",", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
        ReplaceFormat:=False
    
    
End Sub
Le soucis que j'ai, est que lorsque la donnée dans la cellule est supérieure à 1, il ne détecte pas le "." et du coup, il me change totalement la valeur

Nom : exemple pb.png
Affichages : 177
Taille : 8,7 Ko

Merci pour votre aide

PS: J'ai cherché dans la base de données avant de poser la question