Enlever les separateur de milliers dans une cahine de caractere [Résolu]

Makamb 9 Messages postés mercredi 9 octobre 2013Date d'inscription 24 janvier 2014 Dernière intervention - 24 janv. 2014 à 11:56 - Dernière réponse : ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention
- 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.
Afficher la suite 

Votre réponse

5 réponses

Makamb 9 Messages postés mercredi 9 octobre 2013Date d'inscription 24 janvier 2014 Dernière intervention - 24 janv. 2014 à 12:06
0
Merci
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.
jordane45 22814 Messages postés mercredi 22 octobre 2003Date d'inscriptionContributeurStatut 15 octobre 2018 Dernière intervention - 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

Commenter la réponse de Makamb
Makamb 9 Messages postés mercredi 9 octobre 2013Date d'inscription 24 janvier 2014 Dernière intervention - 24 janv. 2014 à 12:37
0
Merci
merci, pour tout jordane45. ton code fonctionne correctement. je l'ai lié à un command-button et c'est impecable. merci, Dieu vous benissse.
Commenter la réponse de Makamb
Makamb 9 Messages postés mercredi 9 octobre 2013Date d'inscription 24 janvier 2014 Dernière intervention - 24 janv. 2014 à 12:47
0
Merci
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?
Commenter la réponse de Makamb
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionContributeurStatut 11 avril 2018 Dernière intervention - 24 janv. 2014 à 13:43
0
Merci
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
Commenter la réponse de ucfoutu

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.