OVH Cloud OVH Cloud

texte en numérique

1 réponse
Avatar
A QUEMENER
Bonjour à tous,

Je souhaite transformer des valeurs "texte" en numérique.
Mais j'ai un problème car ldans ma sélection il y a seulement la dernière
cellule qui passe en numérique.
Quelqu'un peut-il m'aider à résoudre le problème ?
Voici le code que j'utilise:

Public Sub TxtNum()
Dim Valeur
For Each cellule In Selection
On Error Resume Next
If cellule.Value <> "" Then
Selection.NumberFormat = "General"
Selection.Replace What:="'", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False
Cells.Find(What:=" ", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False) _
.Activate
cellule.Value = cellule.Value * 1
End If
Next

End Sub

Merci
andré

1 réponse

Avatar
Hervé
Bonsoir,
Teste ceci :

Public Sub TxtNum()
Dim Cellule As Range

For Each Cellule In Selection
On Error Resume Next
With Cellule
If .Value <> "" Then
.Replace "'", ""
.Replace ".", ","
.Replace " ", ""
.Value = Val(.Value)
End If
End With
Next Cellule
Selection.NumberFormat = "General"

End Sub

Hervé.

"A QUEMENER" a écrit dans le message news:
d5r6ec$dch$
Bonjour à tous,

Je souhaite transformer des valeurs "texte" en numérique.
Mais j'ai un problème car ldans ma sélection il y a seulement la dernière
cellule qui passe en numérique.
Quelqu'un peut-il m'aider à résoudre le problème ?
Voici le code que j'utilise:

Public Sub TxtNum()
Dim Valeur
For Each cellule In Selection
On Error Resume Next
If cellule.Value <> "" Then
Selection.NumberFormat = "General"
Selection.Replace What:="'", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:úlse
Cells.Find(What:=" ", After:¬tiveCell, LookIn:=xlFormulas, LookAt: _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:úlse) _
.Activate
cellule.Value = cellule.Value * 1
End If
Next

End Sub

Merci
andré