Empecher la mise en forme automatique en format scientifique

Résolu/Fermé
Signaler
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
-
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
-
Bonjour,

J'ai un code du genre :

DL = Cells(Application.Rows.Count, 4).End(xlUp).Row

For i = DL To 4 Step -1

If Range("A" & i) = "" Then
    Range("A" & i).Value = CDate(Range("A" & i - 1).Value)
    Range("B" & i).Value = Range("B" & i - 1).Value
    Range("C" & i).Value = Range("C" & i - 1).Value
    Range("E" & i).Value = Range("E" & i - 1).Value
    Range("F" & i).Value = CStr(Range("F" & i - 1).Value)
    Range("G" & i).Value = Range("G" & i - 1).Value
    Range("H" & i).Value = CDate(Range("H" & i - 1).Value)
Rows(i - 1).Delete

i = i - 1
ElseIf Range("B" & i) = Range("B" & i + 1) And Range("C" & i) = Range("C" & i + 1) Then
    Rows(i).Delete
End If


Voilà j'ai la ligne :

Range("F" & i).Value = CStr(Range("F" & i - 1).Value)


J'ai mis CStr pour contrer le fait que dès que le nombre est trop long, il se met en format scientifique. Ce sont des numéros de facture dont je ne veux pas. Je pensais que forcer un format texte empêcherait ça mais apparemment non.

Une idée?

Merci d'avance.

Cordialement.

1 réponse

Messages postés
12257
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
3 septembre 2021
2 666
Bonjour,

Puisque
Range("F" & i).Value = CStr(Range("F" & i - 1).Value)

Je m'étonnes qu'en i-1 ce ne soit pas déjà le cas...

Essaye ceci :
Range("F" & i).Value = "'" & Range("F" & i - 1).Value

ou ceci :
Range("F" & i).Value = "'" & CStr(Range("F" & i - 1).Value)
Messages postés
850
Date d'inscription
vendredi 13 février 2015
Statut
Membre
Dernière intervention
15 février 2019
53
Range("F" & i).Value = "'" & Range("F" & i - 1).Value


Niquel :)

Merci beaucoup.