Copie val texbox en format numerique excel

Résolu/Fermé
hich24 Messages postés 1619 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 11 avril 2023 - 8 févr. 2008 à 17:02
hich24 Messages postés 1619 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 11 avril 2023 - 13 févr. 2008 à 21:11
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 lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
8 févr. 2008 à 19:19
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 1619 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 11 avril 2023 752
10 févr. 2008 à 17:56
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 lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
10 févr. 2008 à 18:23
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 1619 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 11 avril 2023 752
11 févr. 2008 à 18:09
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 lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
11 févr. 2008 à 18:32
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 1619 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 11 avril 2023 752
11 févr. 2008 à 21:03
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 lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
12 févr. 2008 à 10:13
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 1619 Date d'inscription mardi 2 octobre 2007 Statut Membre Dernière intervention 11 avril 2023 752
13 févr. 2008 à 21:11
bonjour

merci merci merci ; je tu remercie ca a marché

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