Afficher résultats plus. textbox ds autre

Résolu/Fermé
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 - 5 mars 2012 à 06:52
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 - 6 mars 2012 à 16:16
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!



A voir également:

5 réponses

f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
5 mars 2012 à 08:11
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
6 mars 2012 à 11:35
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
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 4
6 mars 2012 à 04:54
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
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
6 mars 2012 à 11:13
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

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

Posez votre question
lanetmel Messages postés 200 Date d'inscription mercredi 24 août 2011 Statut Membre Dernière intervention 15 mars 2018 4
6 mars 2012 à 16:16
Génial merci beaucoup!
0