Enlever les separateur de milliers dans une cahine de caractere

Résolu
Makamb Messages postés 9 Date d'inscription mercredi 9 octobre 2013 Statut Membre Dernière intervention 24 janvier 2014 - 24 janv. 2014 à 11:56
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 - 24 janv. 2014 à 13:43
Bonjour, chers amis.
En effet, j'utilise un logiciel de comptabilité qui est paramétré de telle sorte que le point (.) soit séparateur de millier. Il m'arrive parfois d'extraire certaines informations du logiciel vers un fichier Excel afin de faire certaines analyses.
le problème c'est que quand je fais l'extraction, tous les nombres restent tels avec le point comme séparateur de millier, ce qui fait que je ne peux pas les additionner ou faire quoique ce soit. existe t il une formule Excel qui va me permettre de retirer les Points (.) et avoir des valeurs en nombre au lieu de texte? j'ai déjà essayer avec "subtitute", "remplacer", "gauche", "droite" mais rien de bon. Aidez moi svp.
NB: on tient a garder le point comme séparateur dans le logiciel car il sert à d'autres personnes.

4 réponses

Makamb Messages postés 9 Date d'inscription mercredi 9 octobre 2013 Statut Membre Dernière intervention 24 janvier 2014
24 janv. 2014 à 12:06
Bien merci à tous qui avaient commencer à réfléchir pour moi. je viens de trouver l'une des solutions à mon problème.
en fait, il faut d'abord utiliser "subtitute" pour enlever les points (.) et après "CNUM" pour convertir le texte en nombre. on peut bien sur faire une imbrication des deux formules. merci encore les gars.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
24 janv. 2014 à 12:30
Bonjour,
Il n'y a pas de quoi...
Par contre... ce dont tu parles ici c'est de Formule... hors ce forum est principalement destiné à du DEV (donc pour office : du VBA ).

Voici un exemple de code ( en VBA donc) qui fait ce que tu demande :

Sub test()
For Each cell In Selection
Debug.Print "Valeur avant modif : " & cell.Value
 CTP = modif_sep(cell.Value)
 cell.Value = CTP
 Debug.Print "Valeur Après modif : " & cell.Value
Next
End Sub

Function modif_sep(valCell As String, Optional sepAchanger = ".", Optional sepAutiliser = ",")
    modif_sep = CDec(Replace(valCell, sepAchanger, sepAutiliser))
End Function

0
Makamb Messages postés 9 Date d'inscription mercredi 9 octobre 2013 Statut Membre Dernière intervention 24 janvier 2014
24 janv. 2014 à 12:37
merci, pour tout jordane45. ton code fonctionne correctement. je l'ai lié à un command-button et c'est impecable. merci, Dieu vous benissse.
0
Makamb Messages postés 9 Date d'inscription mercredi 9 octobre 2013 Statut Membre Dernière intervention 24 janvier 2014
24 janv. 2014 à 12:47
pardon, il y a un dernier souci. lorsque la cellule est vide, j'ai un bug. Pourtant je sélectionne parfois une plage de cellule qui peut contenir des cellules vides. Que peut on faire pour le débogage?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 janv. 2014 à 13:43
Bonjour,pas sur de tout avoir deviné, mais ===>>
essaye ceci :
For i = 1 To 10
toto = Range("A" & i).Text
If Not IsNumeric(toto) And toto <> "" Then
Range("A" & i).Value = CDbl(Replace(toto, ".", ""))
Range("A" & i).NumberFormat = "#0.00"
End If
Next
où je traite les cellule A1 à A10
0
Rejoignez-nous