Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Format de cellule

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 !

Ken Hutchinson

XLDnaute Occasionnel
Hello,


Besoin d'aide pour un truc que je ne maîtrise pas.

Dans un rappatriement de donnée j'ai des nombres avec des décimales. Ces décimales sont signifiées par des points (88.3) au lieu de virgules. Facile je fais une macro qui remplace les "." par des ",". Tout se passe bien MAIS les nombres restent à droite dans la colonne et je ne peux pas faire de calcul avec.

Lorsque je double-clique dans une cellule : miracle le nombre passe a droite et peut être mis dans un calcul...

Comment faire pour convertir ces données ? merci de votre aide...

Code:
Range("c9").Select

Set MaPlage = ActiveCell.CurrentRegion
nblignes = MaPlage.Rows.Count
For i = 2 To nblignes
     Selection.Replace What:=" ", Replacement:="", LookAt:=xlPart, _
        SearchOrder:=xlByRows, MatchCase:=False
    
ActiveCell.Offset(1, 0).Select
Next i
 
Re : Format de cellule

Bonjour Ken

as tu essayé de convertir la colonne, barre de menu => données => convertir => largeur fixe => suivant => suivant => terminé, souvent cela suffit....

A voir si cela fonctionne avec ton fichier...

bonne fin d'après midi
@+
 
Re : Format de cellule

bonjour,

Dim c As Range
For Each c In Selection.Cells
If InStr(c, ".") > 0 Then c.Value = Val(c)
Next c


transformera toute les valeurs de la sélection en numérique si un point est trouvé dans la valeurs
 
Re : Format de cellule

Merci pour l'info !!

En manuel ça fonctionne mais dès que je le commande par macro ça ne fait rien..

j'ai mis ce bout de code :

Code:
    Columns("AB:AB").Select
    Selection.TextToColumns Destination:=Range("AB1"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(0, 1)
 
Re : Format de cellule

Chez moi la procédure suivante fonctionne très bien

Sub convertir()
Selection.TextToColumns Destination:=Selection.Range("A1"), DecimalSeparator:="."
End Sub

et celle-ci aussi (quoique plus longue)

Sub TransformeVersNumerique()
Dim c As Range
For Each c In Selection.Cells
If InStr(c, ".") > 0 Then c.Value = Val(c)
Next c
End Sub



Je travaille sous XP
 
Re : Format de cellule

RE-,

cela convertit effectivement mais la cellule n'est pas incorporable à un calcul...

😕😕

Chez moi, après ceci (de ton fichier)

Code:
Sub convertir()
Range("E9:E" & [E65000].End(xlUp).Row).TextToColumns Destination:=Range("E9"), DecimalSeparator:="."
End Sub

si je fais =E9+E10, j'ai bien 176 😕
 
Re : Format de cellule

Re,
pourrais-tu élaguer ton fichier original, supprimer les noms, mais surtout préserver tes "chiffres" avec les points, et nous le poster?
Je subodore des valeurs issues d'une importation, et qui ne sont pas reconnues par Excel
Bien souvent, un :

Code:
Range("E9:E" & [E65000].End(xlUp).Row).Value = Range("E9:E" & [E65000].End(xlUp).Row).Value

suffit pour ce type de "chiffres"
avec ou sans le code ".....TextToColumns....", à toi d'essayer 😉
 
- 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

Discussions similaires

Réponses
2
Affichages
589
Réponses
3
Affichages
639
E
Réponses
5
Affichages
2 K
EDI9366
E
A
Réponses
4
Affichages
668
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…