manipuler des chiffres en VBA - enlever des espaces

  • Initiateur de la discussion Initiateur de la discussion Petipeton
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

P

Petipeton

Guest
Bonjour à tous !

Quel plaisir de vous retrouver, vous, les non vacanciers... comme moi, vous travaillez très certainement pendant que d'autres se dorent au soleil !!!

Voilà ma requête : j'ai récupéré un rapport un peu crado... celui-ci me renvoie des chiffres avec, en séparateur de milliers, un espace malvenu pour Excel qui du coup, ne l'interprète plus bien du tout.

Exemple : 458 215 963

J'aimerai avoir une petite macro (je n'arrive pas à faire fonctionner mon embryon de machin) qui permette de transformer le chiffre précédent en un chiffre sans séparateur de milliers :

Exemple : 458215963.

Merci beaucoup ! Et n'oubliez pas, si ça vous paraît simplissime, les débutants de mon âge y perdent leur latin !!!

Bises à tous.

Petipeton
 
bonjour,


Voici une petite solution

Macro :
Sub blancout()

l = ActiveCell().Row
c = ActiveCell().Column
While Cells(l, c) <> ""
Cells(l, c).Value = Replace(Cells(l, c), " ", "")
Cells.NumberFormat = "General"
l = l + 1
Wend
End Sub


place ton curseur sur la cellule et lance la macro


bon courrage
 
Merci beaucoup de ta réponse.

Malheureusement, ça ne marche pas.

Ca fait un peu comme mon code d'ailleurs... ça donne un peu n'importe quoi sur les cellules qui contiennent des heures et ça ne fait rien sur celles qui contiennent les chiffres que je veux modifier.

Merci quand même ! Je vais voir si ton code peut fonctionner pour autre chose que j'avais aussi à faire (et que je reportais depuis trop longtemps déjà, l'occasion fait le larron !).

Petipeton
 
Bonjour Petitpeton, pyrof, le Forum

En partant sur l'hypothèse que tes nombres sont entiers (comme tu nous le présentes)

Feuille : =CNUM(SUBSTITUE(A1;" "😉)

VBA : ActiveCell.NumberFormat = "0"


Où, plus général, élimination des caractères différents de chiffres :

Sub Recherche_Nombre()
Dim Actuel as String
Dim Retour as String
Dim i as Integer
Actuel = ActiveCell.Value
Retour = ""
For i = 1 To Len(Actuel)
If Asc(Mid(Actuel, i, 1)) > 47 And Asc(Mid(Actuel, i, 1)) < 58 Then
Retour = Retour & Mid(Actuel, i, 1)
End If
Next i
ActiveCell.Value = Val(Retour)
End Sub

Bonne journée

PhiBou
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour