Copie val texbox en format numerique excel

Résolu
hich24 Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   -  
hich24 Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai une user form qui contien 18 textbox est un botton command qui permet de copie les valeur de ces text box sur une feuille excel ,

1- comment avoir la somme de ces textbox dans un label ?
2- comment avoir les valeur transsmise sur la feuille en format numero ? puisque lorsque elles sont copiers il ya a un triangle vert sur la cellule excel qui indique que les donnée sont en format text

merci pour tout initiative
A voir également:

8 réponses

gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

1- comment avoir la somme de ces textbox dans un label ?

soit tu fais une boucle sur tes contrôles textbox, soit tu fais 18 additions : à toi de voir.
puis tu mets label1.value = label1.value + val(textbox.value)

2- comment avoir les valeur transmise sur la feuille en format numérique ?

cells(ligne,colonne).value = val(textbox.value)

Si tu as des décimales recherche les formules adaptées cdbl et autres associées à val.

--

Le savoir est la seule matière qui s'accroît quand on la partage. (Socrate)
0
hich24 Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   753
 
bonjour est merci gbinforme pour les precieux information
et j'ai besoin si ce n'est pas trop demandé la facon de fair une boucle pour ces 18 textbox ? , pour ne pas alourdire trop le programme
merci encore pour tout.
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

La matière grise ne s'abîme pas lorsque on l'utilise...

Dim k As Integer
With monformulaire
For k = 1 To .Controls.Count ' controles
     label1.value = label1.value + val(.Controls(k).Value)
Next k
End With

Avec cela tu devrais pouvoir faire une boucle ?

à toi de vérifier que tes contrôles sont bien les textbox que tu veux cumuler car ainsi tu récupères tout : regardes la propriété "name"
0
hich24 Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   753
 
bonjour
merci et desolé pour le derangement que je cause mais

je n'arrive pas a fair cette boucle ; je essayer de detaillé plus :

- j'ai une user form devlopé dans un classeur excel "vba editor"
- j'ai un boutton qui donne l'ordre de calculé
- j'ai (18) text box appelé succesivment : textbox 18, textbox 19, ..., textbox 34

* j'ai un labell appelé "label24" qui doit recevoir le resultat de la somme des 18 textbox

en finale j'ajoute le code que j'ai ecrit :

Private Sub CommandButton4_Click()
Dim label24 As Double
Dim k As Integer
With userform1
For k = 18 To 34
label24.Value = label24.Value + Val(TextBox(k).Value)
Next k
End With
End Sub
encore une fois merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

tu peux remplacer :
Dim label24 As Double qui ne sert à rien
par .label24.Value = 0 après la ligne with

pour l'addition, comme ceci, cela devrait être mieux :
.label24.Value = .label24.Value + Val(.Controls("TextBox" & k).Value)
0
hich24 Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   753
 
salut voici ce que j'ai pour l'instant et ca ne marche pas il dit "erreur de compilation , membre de methode ou donné introuvable " ??

Private Sub CommandButton4_Click()
Dim k As Integer
With userform1
.label24.Value = "0"
For k = 18 To 34
.label24.Value = .label24.Value + Val(.Controls("TextBox" & k).Value)
Next k
End With
End Sub

je sais que c'est trop mais je ne sait pas c'est mon premier programme et je conte sur l'aide des gentille programmeur
merci pour tous.
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
bonjour

Essaie comme ceci car le label n'a pas de "value" et n'est pas tellement fait pour totaliser.
Tu aurais mieux fait d'utiliser une textbox non saisissable
Private Sub CommandButton4_Click()
Dim k As Integer
With userform1
.label24.caption= 0
For k = 18 To 34
.label24.caption= .label24.caption+ Val(.Controls("TextBox" & k).Value)
Next k
End With
End Sub
0
hich24 Messages postés 1635 Date d'inscription   Statut Membre Dernière intervention   753
 
bonjour

merci merci merci ; je tu remercie ca a marché

mais j'aurai besoins de l'aide plus tard sur d'autres astuces
0