Je souhaite qu'une macro convertisse le contenu d'une cellule au format
texte en format numérique. Sur une feuille de calcul Excel, on utilise
habituellement la fonction CNUM, laquelle est traduite par VALUE dans une
macro.
Mais dans mon cas, j'obtiens un message du type "Sub ou fonction non
définie" lorsque la macro suivante est utilisée :
Cells(1,1) = Value (Cells(1,1))
J'imagine qu'il ne faut pas utiliser le terme Value mais un autre. Mais
lequel ???
--
Merci pour vos réponses.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LeSteph
Bonsoir , Pour les conversion voir Exemples CInt ou CSng dans l'aide VBA et l'option 'voir aussi ' c'est bien expliqué mais attention aux éventuelles pertes de données et à la diversité des types: Integer Single Double Currency Variant String
LeSteph
"Yvan" a écrit dans le message de news:
Bonjour,
Je souhaite qu'une macro convertisse le contenu d'une cellule au format texte en format numérique. Sur une feuille de calcul Excel, on utilise habituellement la fonction CNUM, laquelle est traduite par VALUE dans une macro. Mais dans mon cas, j'obtiens un message du type "Sub ou fonction non définie" lorsque la macro suivante est utilisée : Cells(1,1) = Value (Cells(1,1)) J'imagine qu'il ne faut pas utiliser le terme Value mais un autre. Mais lequel ??? -- Merci pour vos réponses.
Bonsoir ,
Pour les conversion voir Exemples CInt ou CSng
dans l'aide VBA et l'option 'voir aussi ' c'est bien
expliqué mais
attention aux éventuelles pertes de données
et à la diversité des types:
Integer
Single
Double
Currency
Variant
String
LeSteph
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de
news:A371E871-206F-4CD2-9171-52C1A1A1307A@microsoft.com...
Bonjour,
Je souhaite qu'une macro convertisse le contenu d'une cellule au format
texte en format numérique. Sur une feuille de calcul Excel, on utilise
habituellement la fonction CNUM, laquelle est traduite par VALUE dans une
macro.
Mais dans mon cas, j'obtiens un message du type "Sub ou fonction non
définie" lorsque la macro suivante est utilisée :
Cells(1,1) = Value (Cells(1,1))
J'imagine qu'il ne faut pas utiliser le terme Value mais un autre. Mais
lequel ???
--
Merci pour vos réponses.
Bonsoir , Pour les conversion voir Exemples CInt ou CSng dans l'aide VBA et l'option 'voir aussi ' c'est bien expliqué mais attention aux éventuelles pertes de données et à la diversité des types: Integer Single Double Currency Variant String
LeSteph
"Yvan" a écrit dans le message de news:
Bonjour,
Je souhaite qu'une macro convertisse le contenu d'une cellule au format texte en format numérique. Sur une feuille de calcul Excel, on utilise habituellement la fonction CNUM, laquelle est traduite par VALUE dans une macro. Mais dans mon cas, j'obtiens un message du type "Sub ou fonction non définie" lorsque la macro suivante est utilisée : Cells(1,1) = Value (Cells(1,1)) J'imagine qu'il ne faut pas utiliser le terme Value mais un autre. Mais lequel ??? -- Merci pour vos réponses.
ReBonsoir, Plutôt qu'une solution toute faite, tu gagneras à voir dans l'aide... Aussi pour suivre plus précisément sur ta question à moins d'avoir besoin d'un format plus complexe ou précis, CSng devrait faire l'affaire . Ainsi: Cells(1,2).value=CSng(Cells(1,2).value) ou bien Cells(1,2).valueÍbl(Cells(1,2).value) si tu veux double précision CInt tronquera les décimales. (dans une division par ex utiliser mod pour n'avoir que les décimales restantes) Attention tout texte ne donnera pas forcément du numérique. Tu peux toujours essayer de convertir Cdbl("Miss Marpple")....! A contrario le numérique peut être interprèté en texte.
Ta question laisse supposer que tu as des données soit issues d'une autre appli soit ayant fait l'objet d'une conversion soit saisie ainsi '8 qui donne le texte 8 et non la valeur 8. Sinon le fait d'exercer une entrée dns une cellule est interprèté en Format "standard" donc un chiffre saisi au clavier (sauf macro évennementielle ou autre ) sera interprèté en numérique et même parfois l'entrée d'un string par macro . Aussi: Pour convertir plus globalement une colonne entière ou plusieurs tu peux utiliser le menu Données Convertir: Essaie de le faire avec l'enregistreur de macros c'est intéressant après tu change des paramêtres et tu regardes les résultats dans le code. ..blabla...(je débranche)
;-) leSteph
"LeSteph" a écrit dans le message de news:%
Bonsoir , Pour les conversion voir Exemples CInt ou CSng dans l'aide VBA et l'option 'voir aussi ' c'est bien expliqué mais attention aux éventuelles pertes de données et à la diversité des types: Integer Single Double Currency Variant String
LeSteph
"Yvan" a écrit dans le message de news:
Bonjour,
Je souhaite qu'une macro convertisse le contenu d'une cellule au format texte en format numérique. Sur une feuille de calcul Excel, on utilise habituellement la fonction CNUM, laquelle est traduite par VALUE dans une
macro. Mais dans mon cas, j'obtiens un message du type "Sub ou fonction non définie" lorsque la macro suivante est utilisée : Cells(1,1) = Value (Cells(1,1)) J'imagine qu'il ne faut pas utiliser le terme Value mais un autre. Mais lequel ??? -- Merci pour vos réponses.
ReBonsoir,
Plutôt qu'une solution toute faite, tu gagneras à voir dans l'aide...
Aussi pour suivre plus précisément sur ta question
à moins d'avoir besoin d'un format plus complexe ou précis,
CSng devrait faire l'affaire .
Ainsi:
Cells(1,2).value=CSng(Cells(1,2).value)
ou bien
Cells(1,2).valueÍbl(Cells(1,2).value)
si tu veux double précision
CInt tronquera les décimales.
(dans une division par ex utiliser mod pour n'avoir que les décimales
restantes)
Attention tout texte ne donnera pas forcément du numérique.
Tu peux toujours essayer de convertir Cdbl("Miss Marpple")....!
A contrario le numérique peut être interprèté en texte.
Ta question laisse supposer que tu as des données soit issues d'une autre
appli soit ayant fait l'objet d'une conversion soit saisie ainsi '8 qui
donne
le texte 8 et non la valeur 8.
Sinon le fait d'exercer une entrée dns une cellule est interprèté en Format
"standard"
donc un chiffre saisi au clavier (sauf macro évennementielle ou autre ) sera
interprèté en
numérique et même parfois l'entrée d'un string par macro .
Aussi:
Pour convertir plus globalement une colonne entière ou plusieurs tu peux
utiliser
le menu Données Convertir:
Essaie de le faire avec l'enregistreur de macros c'est intéressant après
tu change des paramêtres et tu regardes les résultats dans le code.
..blabla...(je débranche)
;-)
leSteph
"LeSteph" <lecocosteph@frite.fr> a écrit dans le message de
news:%23CI7Dx3kEHA.536@TK2MSFTNGP11.phx.gbl...
Bonsoir ,
Pour les conversion voir Exemples CInt ou CSng
dans l'aide VBA et l'option 'voir aussi ' c'est bien
expliqué mais
attention aux éventuelles pertes de données
et à la diversité des types:
Integer
Single
Double
Currency
Variant
String
LeSteph
"Yvan" <Yvan@discussions.microsoft.com> a écrit dans le message de
news:A371E871-206F-4CD2-9171-52C1A1A1307A@microsoft.com...
Bonjour,
Je souhaite qu'une macro convertisse le contenu d'une cellule au format
texte en format numérique. Sur une feuille de calcul Excel, on utilise
habituellement la fonction CNUM, laquelle est traduite par VALUE dans
une
macro.
Mais dans mon cas, j'obtiens un message du type "Sub ou fonction non
définie" lorsque la macro suivante est utilisée :
Cells(1,1) = Value (Cells(1,1))
J'imagine qu'il ne faut pas utiliser le terme Value mais un autre. Mais
lequel ???
--
Merci pour vos réponses.
ReBonsoir, Plutôt qu'une solution toute faite, tu gagneras à voir dans l'aide... Aussi pour suivre plus précisément sur ta question à moins d'avoir besoin d'un format plus complexe ou précis, CSng devrait faire l'affaire . Ainsi: Cells(1,2).value=CSng(Cells(1,2).value) ou bien Cells(1,2).valueÍbl(Cells(1,2).value) si tu veux double précision CInt tronquera les décimales. (dans une division par ex utiliser mod pour n'avoir que les décimales restantes) Attention tout texte ne donnera pas forcément du numérique. Tu peux toujours essayer de convertir Cdbl("Miss Marpple")....! A contrario le numérique peut être interprèté en texte.
Ta question laisse supposer que tu as des données soit issues d'une autre appli soit ayant fait l'objet d'une conversion soit saisie ainsi '8 qui donne le texte 8 et non la valeur 8. Sinon le fait d'exercer une entrée dns une cellule est interprèté en Format "standard" donc un chiffre saisi au clavier (sauf macro évennementielle ou autre ) sera interprèté en numérique et même parfois l'entrée d'un string par macro . Aussi: Pour convertir plus globalement une colonne entière ou plusieurs tu peux utiliser le menu Données Convertir: Essaie de le faire avec l'enregistreur de macros c'est intéressant après tu change des paramêtres et tu regardes les résultats dans le code. ..blabla...(je débranche)
;-) leSteph
"LeSteph" a écrit dans le message de news:%
Bonsoir , Pour les conversion voir Exemples CInt ou CSng dans l'aide VBA et l'option 'voir aussi ' c'est bien expliqué mais attention aux éventuelles pertes de données et à la diversité des types: Integer Single Double Currency Variant String
LeSteph
"Yvan" a écrit dans le message de news:
Bonjour,
Je souhaite qu'une macro convertisse le contenu d'une cellule au format texte en format numérique. Sur une feuille de calcul Excel, on utilise habituellement la fonction CNUM, laquelle est traduite par VALUE dans une
macro. Mais dans mon cas, j'obtiens un message du type "Sub ou fonction non définie" lorsque la macro suivante est utilisée : Cells(1,1) = Value (Cells(1,1)) J'imagine qu'il ne faut pas utiliser le terme Value mais un autre. Mais lequel ??? -- Merci pour vos réponses.
AV
Une fois la plage remise au format standard (ou autre numérique) :
[A1:A10] = [A1:A10*1]
AV
Une fois la plage remise au format standard (ou autre numérique) :