VBA Excel - String en Integer
Résolu
Carotte77
Messages postés
543
Date d'inscription
Statut
Membre
Dernière intervention
-
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
lermite222 Messages postés 8724 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai de nombreuses colonnes et beaucoup plus de lignes, contenant des nombres (créés par une station météo), mais qu'Excel ne perçoit pas comme tels, mais plutôt comme des chaînes de caractères.
Les nombres sont au format "256.400" (par exemple).
Je voudrais en fait transformer ces nombres en décimaux. J'ai essayé de transformer les points en virgule dans chaque cellule, mais cela me décale de 3 la virgule vers la droite (puisqu'en fait à partir du moment où je retire le point en VBA, Excel reconnait la chaîne comme un entier, et considère que la virgule se place à la fin du nombre).
Exemple de ma demande : à partir de "256.400", je désirerais obtenir "256,00".
Merci beaucoup à ceux qui pourront m'aider !
NB : je suis sous Excel 2007
J'ai de nombreuses colonnes et beaucoup plus de lignes, contenant des nombres (créés par une station météo), mais qu'Excel ne perçoit pas comme tels, mais plutôt comme des chaînes de caractères.
Les nombres sont au format "256.400" (par exemple).
Je voudrais en fait transformer ces nombres en décimaux. J'ai essayé de transformer les points en virgule dans chaque cellule, mais cela me décale de 3 la virgule vers la droite (puisqu'en fait à partir du moment où je retire le point en VBA, Excel reconnait la chaîne comme un entier, et considère que la virgule se place à la fin du nombre).
Exemple de ma demande : à partir de "256.400", je désirerais obtenir "256,00".
Merci beaucoup à ceux qui pourront m'aider !
NB : je suis sous Excel 2007
A voir également:
- Vba concatenate string and integer
- Spybot search and destroy - Télécharger - Antivirus & Antimalwares
- Find and mount - Télécharger - Récupération de données
- Cannot access offset of type string on string - Forum PHP
- Disk boot failure insert system disk and press enter - Guide
- And i miss you ✓ - Forum Musique / Radio / Clip
8 réponses
Bonjour
Fix(Val(variablechaine))
Fix ou Round selon l'effet recherché (nombre tronqué ou arrondi)
Pour afficher le ",00" sans passer au type chaîne, il faut mettre le format de ta cellule en numérique avec 2 chiffres
Fix(Val(variablechaine))
Fix ou Round selon l'effet recherché (nombre tronqué ou arrondi)
Pour afficher le ",00" sans passer au type chaîne, il faut mettre le format de ta cellule en numérique avec 2 chiffres
Bonjour,
Je ne pense pas que la solution de "le père"" fonctionnera.
Sinon...
A+
Je ne pense pas que la solution de "le père"" fonctionnera.
Sinon...
Range("B5") = CDbl(Replace(Range("B5"), ".", ","))
A+
Merci pour vos réponses.
La réponse de lermitte222 me semble plus appropriée, mais comment faire pour parcourir toutes les cellules de la colonne B à BO (donc 66 colonnes en tout) ?
La réponse de lermitte222 me semble plus appropriée, mais comment faire pour parcourir toutes les cellules de la colonne B à BO (donc 66 colonnes en tout) ?
Je ne pense pas que la solution de "le père"" fonctionnera
grrr ! (forcément ;) )
J'avais testé avant de poster
Je suis sûr que celle de lermite222 ne fonctionnera pas. Carrotte77 a écrit qu'il désirait obtenir "256,00" à partir de "256.400" . Avec cette méthose, on va plutôt obtenir "256,4"
grrr ! (forcément ;) )
J'avais testé avant de poster
Je suis sûr que celle de lermite222 ne fonctionnera pas. Carrotte77 a écrit qu'il désirait obtenir "256,00" à partir de "256.400" . Avec cette méthose, on va plutôt obtenir "256,4"
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
J'ai répondu un peu tard... donc ça n'était pas 256,00 que tu voulais obtenir ? pas un entier comme ton titre le disait ?
En effet, mon titre porte à confusion. Ce que je voulais dire, c'est plutôt obtenir un String en double.
Et en plus je me suis trompé dans ma question... A partir de "256.400", je voudrais obtenir "256,40".
Veuillez m'excuser :/
Et en plus je me suis trompé dans ma question... A partir de "256.400", je voudrais obtenir "256,40".
Veuillez m'excuser :/
Pour valider plusieur lignes et colonnes...
A+
Bonjour "le père", j'ai dis 'je pense' ça n'est pas toujours le cas mais il arrive qu'avec des valeurs importées il n'est possible de les transformer qu'avec la méthode que j'ai suggérer.
A+
Sub EnDbl() Dim Col As Integer Dim Lig As Long, LigDep As Long, LigFin As Long LigDep = 3 'la ligne où commencer LigFin = 10 'la ligne où finir For Lig = LigDep To LigFin For Col = 2 To 68 Cells(Lig, Col) = CDbl(Replace(Cells(Lig, Col), ".", ",")) Next Col Next Lig End Sub
A+
Bonjour "le père", j'ai dis 'je pense' ça n'est pas toujours le cas mais il arrive qu'avec des valeurs importées il n'est possible de les transformer qu'avec la méthode que j'ai suggérer.
A+