J'utilise également un Excel avec une locale française, et je suis souvent confronté à ce problème avec des fichiers CSV. Comme expliqué par d'autres, les nombres français utilisent une virgule comme séparateur décimal, et un nombre comme 123.45
est interprété comme un texte par Excel.
Le moyen le plus rapide de contourner ce problème est de remplacer .
par ,
. Vous pouvez le faire rapidement avec la fonction Rechercher/Remplacer, comme suggéré par David.
Pour ceux qui sont confrontés à ce problème assez souvent, vous pouvez utiliser ce morceau de code adapté de cette réponse ), le sauvegarder dans votre classeur PERSONNEL et l'assigner à un bouton dans le ruban :
Sub Comas2Dots()
Application.ScreenUpdating = False
If (MsgBox("Do you want to replace comas by dots?", vbOKCancel) = vbOK) Then
Const sTEMPCOMMA = "|comma|"
Const sTEMPDOT = "|dot|"
Const sCOMMA = ","
Const sDOT = "."
If TypeName(Selection) = "Range" Then
With Selection
.Replace sCOMMA, sTEMPCOMMA, xlPart
.Replace sDOT, sTEMPDOT, xlPart
.Replace sTEMPCOMMA, sDOT, xlPart
.Replace sTEMPDOT, sCOMMA, xlPart
End With
End If
End If
Application.ScreenUpdating = True
End Sub
Espoir qui aide les personnes confrontées à ce problème inutile !
Documentation supplémentaire
- Comment attribuer des macros au ruban
- Copier vos macros dans un classeur de macros personnel