CommentCaMarche
Recherche
Posez votre question Signaler

VBA - Conversion d'un texte en nombre [Résolu]

XRay - Dernière réponse le 27 nov. 2014 à 14:23
C'est encore moi !
Je voulais savoir s'il existe une fonction qui convertit du texte en un nombre (plus exectement en %) pour le stocker dans une cellule (Excel).
Voici l'exemple de ce que je fais :

ActiveCell.Value = UserForm3!TextBox1

Mais le problème, c'est que la cellule dans laquellle se stocke la valeur se transforme en fomat texte !

Ya-t-il un soluce ?
Merci
Lire la suite 
Réponse
+31
moins plus
une petite précision

my_string="9874"
val(my_string)=9874


time is not money, time is life
Ajouter un commentaire
Réponse
+7
moins plus
Bon jour, XRay
peut etre ça te convient

If UserForm3!TextBox1.Value = "" Then
ActiveCell.Value .Value = ""
Else
ActiveCell.Value = CDbl(UserForm3!TextBox1.Value)
End If

bonne journée
blb29- 19 févr. 2010 à 12:06
Excellent !
Je cherchais depuis hier le moyen de transformer un nombre entré par un TextBox en nombre et c'est maintenant chose faite !
Génial !
Merci beaucoup pour l'info...
blb
Répondre
sof- 18 déc. 2013 à 17:05
j'ai deux colonnes la premières contient une liste très longue d'articles et la secondes le code de chacun je souhaite savoir si en tapant juste le numéro de code de l'article le produit en texte apparaitra . merci
Répondre
Ajouter un commentaire
Réponse
+2
moins plus
excuse-moi, je n'ai pas fait attention.

Dans l'aide de VBA, on parle de VAL... qui convient tout à fait... ;-)

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
XRay- 24 oct. 2003 à 18:52
Oki !! Merci !
Mais ou est-ce que je peux avoir une liste des fonctions utiles sans avoir a venir poster un message ici ?...
Merci
Répondre
blux 23194Messages postés dimanche 26 août 2001Date d'inscription ContributeurStatut 20 mars 2015Dernière intervention - 27 oct. 2003 à 09:18
et bien, dans l'aide ! :-)

tu auras la liste des fonctions, maintenant, c'est à toi de juger si elles sont "utiles" ;-)

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
Répondre
Ajouter un commentaire
Réponse
+1
moins plus
utilises plutot la fonction VAL() qui transforme du texte en chiffre et qui est une fonction VBA

my_string='9874'
val(my_string)=9874


time is not money, time is life
zozo- 1 déc. 2010 à 23:09
Bravo ... c est exactement ce que je cherchais !
Moi qui essayais desesperement avec CNUM
Répondre
Ajouter un commentaire
Réponse
-1
moins plus
BONJOURS a tous

Dans un tableau fait avec excel 2003 je voudrais remplacer automatiquement dans une autre colonne les F PAR 2 et les H par 1
POur le debutant que je suis cela me parait dur car je ne trouve pas de fonction pour le faire
Y a t'il une astuce
merci pour toute reponse
lalalila- 13 juin 2012 à 15:00
control + F ==> rechercher/remplacer ==> rechercher: F remplacer par: 2 .. même démarche pour les H ==>1
Répondre
Ajouter un commentaire
Réponse
-3
moins plus
Salut,

dans l'aide excel sur les chaines de caractères, on trouve la fonction CNUM, elle pourra sans doute te convenir...

la liste des fonctions s'obtient en cherchant "A propos des fonctions de texte" dans l'aide

A+ Blux
 "Les cons, ça ose tout.
C'est même à ça qu'on les reconnait"
XRay- 24 oct. 2003 à 11:34
Merci à toi Blux mais ca ne m'aide pas vraiement car CNUM n'est pas une fonction VBA mais simplement une fonction utilisable dans excel !
Jte remercie quand même ;o)
Répondre
Ajouter un commentaire
Réponse
-3
moins plus
salut Xray,
Je te propose une methode en 2 etapes :

1/ tu fait un copy/pastespecial (change les parametres) pour coller en tant que nombre le contenu des cases qui t interesse
2/ tu changes le style "a la main" En recordant une macro.

Tu compile le tout en 1 programme. le tour est joue!
Ajouter un commentaire
Réponse
-3
moins plus
.............D............I..............E..................I............. F...............I............... G..........I
...........................I..................................I...............................I............................I
....11/03/2010 ....I........ Couleur ...........I............ 45..............I... #VALEUR!.........I
....25/03/2010 ....I.......... Bois ...............I........... 60...............I... #VALEUR! .......I


voici un apercu de mon tableau et voici ma formule en G : = E6*7+D6

j'aurais besoin de calculer un délai. En E c'est une liste déroulante contenant les mots Bois, couleur, blanc, cintrage et bicolore. Chacun d'eux correspond a un délai de livraison en semaine d'ou le 7 dans la formule.

sur vba apres utilisation de l'aide j'ai fait cela mais ca marche pas (en mm tps vu mon niveau je m'y attendais)


Private Sub Workshee1_Calculate()
If Target.Column <> 7 Or Target.Row < 6 Or Target.Cells.Count > 1 Then
'si la colonne <>7 (C) ou la ligne <6 ou la sélection fait plus d'1 cellule

Private Const Bois As Integer = 4
Private Const Couleur As Integer = 3
Private Const Cintrage As Integer = 6
Private Const bicolore As Integer = 4
Private Const Blanc As Integer = 2

Else
On Error GoTo End
End If
End Sub
blux 23194Messages postés dimanche 26 août 2001Date d'inscription ModérateurStatut 20 mars 2015Dernière intervention - 26 mars 2010 à 10:43
Merci de poster un nouveau message, celui-ci est hosr sujet par rapport à la demande initiale.
Répondre
moi03- 9 févr. 2011 à 11:04
un truc simple qui m'a dépanné.
dans une cellule écrire:
=cnum(A1)
ou A1 désigne la cellule à convertir
Répondre
arianinou- 27 nov. 2014 à 14:23
merci pour ton super tuyau blux!
Répondre
Ajouter un commentaire
Réponse
-4
moins plus
tu peux te procurer un livre sur VB ou bien aller chercher la librairie MSDN sur le net ( légalement bien sure !)

Ne prend pas ton temps car le temps ne t'attend pas.
Ajouter un commentaire
Ce document intitulé «  VBA - Conversion d'un texte en nombre  » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.