Copie val texbox en format numerique excel

Résolu
hich24 Messages postés 1686 Statut Membre -  
hich24 Messages postés 1686 Statut Membre -
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
Configuration: Windows XP
Internet Explorer 6.0

8 réponses

  1. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  2. hich24 Messages postés 1686 Statut Membre 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
  3. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  4. hich24 Messages postés 1686 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  7. hich24 Messages postés 1686 Statut Membre 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
  8. gbinforme Messages postés 14930 Date d'inscription   Statut Contributeur Dernière intervention   4 744
     
    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
  9. hich24 Messages postés 1686 Statut Membre 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