Afficher résultats plus. textbox ds autre

Résolu
lanetmel Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -  
lanetmel Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai le code suivant : Dans une feuille excel je vais mettre les résulats suivants (1 par ligne)

.Cells(Lign, 75) = Val(TextBox2) * Val(TextBox1) + Val(TextBox2)
.Cells(Lign, 76) = Val(TextBox3) * Val(TextBox1) + Val(TextBox3)
.Cells(Lign, 77) = Val(TextBox4) * Val(TextBox1) + Val(TextBox4)
.Cells(Lign, 78) = Val(TextBox5) * Val(TextBox1) + Val(TextBox5)
.Cells(Lign, 79) = Val(TextBox6) * Val(TextBox1) + Val(TextBox6)
.Cells(Lign, 80) = Val(TextBox7) * Val(TextBox1) + Val(TextBox7)
Ce que j'aimerais faire est additionner toutes les réponses de de ces calculs et les indiquer dans un autre texbox de mon usf.

J'ai essayé ceci mais cela ne fonctionne pas..

Textbox10= (Val(TextBox2.Value) * Val(TextBox1.Value)+ Val(TextBox2.Value))+
(Val(TextBox3) * Val(TextBox1) + Val(TextBox3))+(Val(TextBox4) * Val(TextBox1) + Val(TextBox4))+(Val(TextBox5) * Val(TextBox1) + Val(TextBox5))+(Val(TextBox6) * Val(TextBox1) + Val(TextBox6))+(Val(TextBox7) * Val(TextBox1) + Val(TextBox7))

il ne se passe rien.. J'aimerais que le total s'affiche à mesure que les textbox se remplissent...

Je mets mon code au complet si jamais ça vient de plus haut!

Option Explicit
Private Sub cmdok_click()
Dim Lign As Long

'--- en feuil Infos va chercher la ligne vide.....
With Sheets("Infos")
'......comprise entre la ligne 5 et la dernière ligne remplie
For Lign = 5 To .Range("a" & Rows.Count).End(xlUp).Row + 1
'.... s'il n'y a pas d'erreur (déclenchée par une formule)
If IsError(.Cells(Lign, 1)) Then
'si elle est vide alors...
ElseIf .Cells(Lign, 1) = "" Then
'on écrit dedans !!!
.Cells(Lign, 1) = (ComboBox2.Value)
.Cells(Lign, 3) = (TextBox8.Value)
.Cells(Lign, 73) = (TextBox1.Value)
.Cells(Lign, 74) = (ComboBox1.Value)
.Cells(Lign, 75) = Val(TextBox2) * Val(TextBox1) + Val(TextBox2)
.Cells(Lign, 76) = Val(TextBox3) * Val(TextBox1) + Val(TextBox3)
.Cells(Lign, 77) = Val(TextBox4) * Val(TextBox1) + Val(TextBox4)
.Cells(Lign, 78) = Val(TextBox5) * Val(TextBox1) + Val(TextBox5)
.Cells(Lign, 79) = Val(TextBox6) * Val(TextBox1) + Val(TextBox6)
.Cells(Lign, 80) = Val(TextBox7) * Val(TextBox1) + Val(TextBox7)
Textbox10= (Val(TextBox2.Value) * Val(TextBox1.Value)+ Val(TextBox2.Value))+ (Val(TextBox3) * Val(TextBox1) + Val(TextBox3))+(Val(TextBox4) * Val(TextBox1) + Val(TextBox4))+(Val(TextBox5) * Val(TextBox1) + Val(TextBox5))+(Val(TextBox6) * Val(TextBox1) + Val(TextBox6))+(Val(TextBox7) * Val(TextBox1) + Val(TextBox7))
.Cells(Lign, 152) = (TextBox9.Value)
.Cells(Lign, 4) = ("Lattage")
.Cells(Lign, 157) = ("Vert latté")
Exit For
End If
Next Lign
End With
Unload Me
End Sub

merci à l'avance!

5 réponses

  1. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,

    Si j'ai bien compris ce que vous demandez:

    Private Sub TextBox1_Change()
    Remplissage
    End Sub

    Private Sub TextBox2_Change()
    Remplissage
    End Sub
    '
    '
    'pour toutes les TexteBoxs concernees
    '
    'jusqu'a la derniere
    '
    Private Sub TextBox10_Change()
    Remplissage
    End Sub

    Private Sub Remplissage()
    Dim Lign As Long

    '--- en feuil Infos va chercher la ligne vide.....
    With Sheets("Infos")
    '......comprise entre la ligne 5 et la dernière ligne remplie
    Lign = .Range("a" & Rows.Count).End(xlUp).Row + 1
    '.... s'il n'y a pas d'erreur (déclenchée par une formule) et si elle est vide alors...
    If Not IsError(.Cells(Lign, 1)) And .Cells(Lign, 1) = "" Then
    'on écrit dedans !!!
    .Cells(Lign, 1) = (ComboBox2.Value)
    .Cells(Lign, 3) = (TextBox8.Value)
    .Cells(Lign, 73) = (TextBox1.Value)
    .Cells(Lign, 74) = (ComboBox1.Value)
    .Cells(Lign, 75) = Val(TextBox2) * Val(TextBox1) + Val(TextBox2)
    .Cells(Lign, 76) = Val(TextBox3) * Val(TextBox1) + Val(TextBox3)
    .Cells(Lign, 77) = Val(TextBox4) * Val(TextBox1) + Val(TextBox4)
    .Cells(Lign, 78) = Val(TextBox5) * Val(TextBox1) + Val(TextBox5)
    .Cells(Lign, 79) = Val(TextBox6) * Val(TextBox1) + Val(TextBox6)
    .Cells(Lign, 80) = Val(TextBox7) * Val(TextBox1) + Val(TextBox7)
    Textbox10 = (Val(TextBox2.Value) * Val(TextBox1.Value) + Val(TextBox2.Value)) + (Val(TextBox3) * Val(TextBox1) + Val(TextBox3)) + (Val(TextBox4) * Val(TextBox1) + Val(TextBox4)) + (Val(TextBox5) * Val(TextBox1) + Val(TextBox5)) + (Val(TextBox6) * Val(TextBox1) + Val(TextBox6)) + (Val(TextBox7) * Val(TextBox1) + Val(TextBox7))
    .Cells(Lign, 152) = (TextBox9.Value)
    .Cells(Lign, 4) = ("Lattage")
    .Cells(Lign, 157) = ("Vert latté")
    End If
    'Unload Me
    End Sub

    Bonne suite
    1
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Re,

    Private Sub TextBox1_Change()
    Majour_Txt10
    End Sub

    Private Sub TextBox2_Change()
    Majour_Txt10
    End Sub

    Private Sub TextBox3_Change()
    Majour_Txt10
    End Sub

    '
    '
    'pour toutes les TexteBoxs concernees
    '
    'jusqu'a la derniere
    '
    Private Sub TextBox9_Change()
    Majour_Txt10
    End Sub

    Private Sub Majour_Txt10()
    TextBox10 = (Val(TextBox2.Value) * Val(TextBox1.Value) + Val(TextBox2.Value)) + (Val(TextBox3) * Val(TextBox1) + Val(TextBox3)) + (Val(TextBox4) * Val(TextBox1) + Val(TextBox4)) + (Val(TextBox5) * Val(TextBox1) + Val(TextBox5)) + (Val(TextBox6) * Val(TextBox1) + Val(TextBox6)) + (Val(TextBox7) * Val(TextBox1) + Val(TextBox7))
    End Sub

    'Bouton validation pour ecriture feuille EXCEL
    Private Sub CmdRemplissage_Click()
    Dim Lign As Long

    '--- en feuil Infos va chercher la ligne vide.....
    With Sheets("Infos")
    '......comprise entre la ligne 5 et la dernière ligne remplie
    Lign = .Range("a" & Rows.Count).End(xlUp).Row + 1
    '.... s'il n'y a pas d'erreur (déclenchée par une formule) et si elle est vide alors...
    If Not IsError(.Cells(Lign, 1)) And .Cells(Lign, 1) = "" Then
    'on écrit dedans !!!
    .Cells(Lign, 1) = (ComboBox2.Value)
    .Cells(Lign, 3) = (TextBox8.Value)
    .Cells(Lign, 73) = (TextBox1.Value)
    .Cells(Lign, 74) = (ComboBox1.Value)
    .Cells(Lign, 75) = Val(TextBox2) * Val(TextBox1) + Val(TextBox2)
    .Cells(Lign, 76) = Val(TextBox3) * Val(TextBox1) + Val(TextBox3)
    .Cells(Lign, 77) = Val(TextBox4) * Val(TextBox1) + Val(TextBox4)
    .Cells(Lign, 78) = Val(TextBox5) * Val(TextBox1) + Val(TextBox5)
    .Cells(Lign, 79) = Val(TextBox6) * Val(TextBox1) + Val(TextBox6)
    .Cells(Lign, 80) = Val(TextBox7) * Val(TextBox1) + Val(TextBox7)
    .Cells(Lign, 152) = (TextBox9.Value)
    .Cells(Lign, 4) = ("Lattage")
    .Cells(Lign, 157) = ("Vert latté")
    End If
    End With
    'Unload Me
    End Sub

    Je ne vois pas d'autre solution qu'un bouton de validation pour ecrire la feuille EXCEL, sauf si vous avez une info que je n'ai pas.

    Bonne suite
    1
  3. lanetmel Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   4
     
    Bonjour

    merci F894009!
    ça fonctionne visuellement dans mon usf..Reste quand ça va porter les données dans ma feuille "infos" ça copie autant de ligne qu'il y a de caractère dans ma textbox..

    As-tu une idée pourquoi?

    merci encore
    Mélanie
    0
  4. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour,
    C'est cette ligne qui m'a fait faire une betise

    il ne se passe rien.. J'aimerais que le total s'affiche à mesure que les textbox se remplissent... .

    Dans un premier temps, vous mettez toutes les lignes Remplissage en commentaire pour les TexteBoxs:

    Private Sub TextBox1_Change()
    'Remplissage
    End Sub

    Et remettez un bouton pour appeler la macro Remplissage de facon a remplir la feuille excel seulement a la fin des saisie.

    Je regarde pour vous faire ce qui est logique pour la feuille excel.

    A bientot
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. lanetmel Messages postés 200 Date d'inscription   Statut Membre Dernière intervention   4
     
    Génial merci beaucoup!
    0