Transformer un nombre qui est en lettres pour arriver un chiffre
Fermé
Lemangoustan
Messages postés
2
Date d'inscription
lundi 30 mai 2016
Statut
Membre
Dernière intervention
30 mai 2016
-
30 mai 2016 à 05:02
Labdreun Messages postés 12 Date d'inscription vendredi 3 juin 2016 Statut Membre Dernière intervention 7 juin 2016 - 3 juin 2016 à 16:43
Labdreun Messages postés 12 Date d'inscription vendredi 3 juin 2016 Statut Membre Dernière intervention 7 juin 2016 - 3 juin 2016 à 16:43
Bonjour,
Je suis sur Windows 10 (malheureusement) et j'utilise Excel 13.
Je vais rechercher avec une macro sur le net des cotations d'actions et d'obligations par exemple " 34.05 USD" ou "+0.5647% ".
Seulement la plus-part du temps ces données arrivent sur ma feuille d'accueil au format texte, donc inutilisable comme tel pour calculer.
Je souhaiterais savoir comment dans ma macro je peux transformer cela en chiffres tel que 34,05 et 0,5647. En excel c'est très facile mais apparemment on ne peux pas utiliser les même formules en VBA.
Merci d'avance
Lemangoustan
Je suis sur Windows 10 (malheureusement) et j'utilise Excel 13.
Je vais rechercher avec une macro sur le net des cotations d'actions et d'obligations par exemple " 34.05 USD" ou "+0.5647% ".
Seulement la plus-part du temps ces données arrivent sur ma feuille d'accueil au format texte, donc inutilisable comme tel pour calculer.
Je souhaiterais savoir comment dans ma macro je peux transformer cela en chiffres tel que 34,05 et 0,5647. En excel c'est très facile mais apparemment on ne peux pas utiliser les même formules en VBA.
Merci d'avance
Lemangoustan
A voir également:
- Transformer un nombre qui est en lettres pour arriver un chiffre
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Application pour écrire les chiffre en lettre - Télécharger - Outils professionnels
- Excel trier par ordre croissant chiffre - Guide
- Clavier iphone chiffre et lettre - Guide
- Transformer majuscule en minuscule word - Guide
2 réponses
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
30 mai 2016 à 09:47
30 mai 2016 à 09:47
Bonjour,
Pour transformer : variable = " 34.05 USD"
Il faut tester un peu car tu risques des soucis avec point et virgule qui sont modifiables par un "replace" .
Pour transformer : variable = " 34.05 USD"
résultat = Val(variable)
Il faut tester un peu car tu risques des soucis avec point et virgule qui sont modifiables par un "replace" .
Labdreun
Messages postés
12
Date d'inscription
vendredi 3 juin 2016
Statut
Membre
Dernière intervention
7 juin 2016
Modifié par Labdreun le 3/06/2016 à 10:44
Modifié par Labdreun le 3/06/2016 à 10:44
Bonjour,
ce que je fais mais rarement c'est effectivement écrire le code en Excel.
puis je récupère dans du code simple le contenu de la cellule.
cela me génère le code 'VB', avec une partie en absolu évidemment, après c'est du custom normal, mais le nom des fonctions, les parenthèses, et le coding est propre.
il y a longtemps que je ne l'ai plus fait, mais je crois que ça marche.
c'est une piste, je pense que d'autres pourront te donner mieux ou en complément de ma contribution.
c'est vrai que pour faire simple les deux codes ne sont pas identiques !!
Bonne Journée
Labdreun
(newbie d’aujourd’hui, mais si je peux aider ou éclairer une piste !)
je viens de retrouver ceci:
avec
range(tacellule).activate
Selection.FormatConditions.Add type:= xlExpression, Formula1: = _
"=STXT(cell;i;1)=""B"""
tu mets ta formule 'Excel' quasiment par programmation dans une cellule
j'espère que j'ai bien compris ton problème ?!
ce que je fais mais rarement c'est effectivement écrire le code en Excel.
puis je récupère dans du code simple le contenu de la cellule.
cela me génère le code 'VB', avec une partie en absolu évidemment, après c'est du custom normal, mais le nom des fonctions, les parenthèses, et le coding est propre.
il y a longtemps que je ne l'ai plus fait, mais je crois que ça marche.
c'est une piste, je pense que d'autres pourront te donner mieux ou en complément de ma contribution.
c'est vrai que pour faire simple les deux codes ne sont pas identiques !!
Bonne Journée
Labdreun
(newbie d’aujourd’hui, mais si je peux aider ou éclairer une piste !)
je viens de retrouver ceci:
avec
range(tacellule).activate
Selection.FormatConditions.Add type:= xlExpression, Formula1: = _
"=STXT(cell;i;1)=""B"""
tu mets ta formule 'Excel' quasiment par programmation dans une cellule
j'espère que j'ai bien compris ton problème ?!
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 716
3 juin 2016 à 11:59
3 juin 2016 à 11:59
Bonjour,
je viens de retrouver ceci:
Tu as sans doute testé le résultat ... totalement inefficace ?
tu mets ta formule 'Excel' quasiment par programmation dans une cellule
C'est de la programmation, il n'y a rien de "quasiment"
j'espère que j'ai bien compris ton problème ?! Pas sûr ...
je viens de retrouver ceci:
Tu as sans doute testé le résultat ... totalement inefficace ?
tu mets ta formule 'Excel' quasiment par programmation dans une cellule
C'est de la programmation, il n'y a rien de "quasiment"
j'espère que j'ai bien compris ton problème ?! Pas sûr ...
Labdreun
Messages postés
12
Date d'inscription
vendredi 3 juin 2016
Statut
Membre
Dernière intervention
7 juin 2016
>
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
3 juin 2016 à 15:17
3 juin 2016 à 15:17
Bonjour,
le fait est qu'il SAIT faire avec la formulation Excel
et pas avec les instructions pures VBA
donc,
pour ne pas le faire dans la feuille de calcul
il peut le faire dans une programmation vba
ce qui est effectivement la même chose, évidemment
sauf que cela correspond à sa demande
qu'il peut coder le remplissage dans toute la colonne en VBA
mettre çà en ouverture du document, paramétrer, etc
il ne connait pas l'écriture des fonctions qui ne s'écrivent pas pareillement entre les deux modes.
sinon, vous lui donnez justement de la programmation à faire.
mais merci de ton enthousiasme à répondre
si cela pouvait le faire aussi, sur ma requête dans le Forum VB/VBA
j'en serai ravi !
A+
le fait est qu'il SAIT faire avec la formulation Excel
et pas avec les instructions pures VBA
donc,
pour ne pas le faire dans la feuille de calcul
il peut le faire dans une programmation vba
ce qui est effectivement la même chose, évidemment
sauf que cela correspond à sa demande
qu'il peut coder le remplissage dans toute la colonne en VBA
mettre çà en ouverture du document, paramétrer, etc
il ne connait pas l'écriture des fonctions qui ne s'écrivent pas pareillement entre les deux modes.
sinon, vous lui donnez justement de la programmation à faire.
mais merci de ton enthousiasme à répondre
si cela pouvait le faire aussi, sur ma requête dans le Forum VB/VBA
j'en serai ravi !
A+
Labdreun
Messages postés
12
Date d'inscription
vendredi 3 juin 2016
Statut
Membre
Dernière intervention
7 juin 2016
>
Labdreun
Messages postés
12
Date d'inscription
vendredi 3 juin 2016
Statut
Membre
Dernière intervention
7 juin 2016
3 juin 2016 à 16:29
3 juin 2016 à 16:29
re,
Voilà j'ai trouvé ce dont je parlais
cela peut aider cuxe qui ne connaissent pas le code VBA ou pas sûr 100% (comme moi)
Sub recupcode
sheets("tafeuille").select
dim b as string
'aller sur la cellule dont on a définit le code via Excel , code Excel, pas VB
Range("A4").select
b= Activecell.FormuaR1C1
'lire le contenu de b !
msgbox(b) 'le code équivalent d'Exel apparait en VB
End sub
dans le contexte de la demande cela me semble aussi connaitre
A++
Voilà j'ai trouvé ce dont je parlais
cela peut aider cuxe qui ne connaissent pas le code VBA ou pas sûr 100% (comme moi)
Sub recupcode
sheets("tafeuille").select
dim b as string
'aller sur la cellule dont on a définit le code via Excel , code Excel, pas VB
Range("A4").select
b= Activecell.FormuaR1C1
'lire le contenu de b !
msgbox(b) 'le code équivalent d'Exel apparait en VB
End sub
dans le contexte de la demande cela me semble aussi connaitre
A++
Labdreun
Messages postés
12
Date d'inscription
vendredi 3 juin 2016
Statut
Membre
Dernière intervention
7 juin 2016
3 juin 2016 à 16:43
3 juin 2016 à 16:43
ActiveCell.Formula j'ai oublié le 'L'