Salut Didpa et le forumCourt, concis... et qui ne sert à rien !!!
Quel est ton but ? ne pas trop te fatiguer... ou qu'on puisse t'aider ? Arracher les infos ne fait pas partie de ce qui m'intéresse !
Ton code explique tes lacunes :
1 2 3 4
| If OB_Dette.Value = False Then
Else
ActiveCell = TB_Dette.Value
End If |
Si je lis un tel code :
si OB_Dette est faux, ne rien faire, sinon, mettre la valeur de TB_Dette dans la cellule active.
Ce qui donne en français : Si OB_Dette est vraie, alors mettre TB_Dette dans la cellule active donc, on pourrait avoir
If OB_Dette Then ActiveCell = TB_Dette
Plus simple, mais pas forcément fonctionnant correctement, puisque qu'on n'a pas le but à atteindre.
Je n'ai pas traité toute ta macro, juste le début, avec ce que j'en ai compris
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| Private Sub CommandButton1_Click()
Dim X As Integer
' rempli la feuille stock
'ta formule en plus simple
If Worksheets("Stock").TextBox1 <> "" Then Range("C10") = Range("C10") - Worksheets("Stock").TextBox1
For X = 2 To 25
With Worksheets(Me.Controls("Label" & X).Caption)
If Me.Controls("TextBox" & X) <> "" Then Range("C10") = Range("C10") - Me.Controls("TextBox" & X)
End With
Next X
'Rempli le compte client
Worksheets("Conso").Activate
Range("A5").Select
Nom = TB_Nom.Value
Columns(1).Find(Nom, , , , , Previous).Select
'....... |
Juste une remarque : utiliser les Activate/Select/ActiveCell n'est pas utile et rarement nécessaire.
Comme je ne connai rien du fichier, hormis le code, c'est difficile de vraiment faire un travail correct qui fonctionne.
Je suis parti du postulat que tes contrôles était sur un USF. Plusieurs choses me chagrinent :
Range("C10") - Worksheets("Stock").TextBox1
Une TextBox, par définition contient du texte. Moi, par principe, je préfère convertir le texte en nombre, ce qui donnerait un truc du style :
Range("C10") - cdbl(Worksheets("Stock").TextBox1)
Une grande interrogation :
ActiveCell.Value = ActiveCell.Value + (TextBox23 * 1)
Pourquoi multiplier par 1 ? Ta TextBox contient une valeur booléenne que tu veux convertir en valeur numérique ? Je comprends pas. Et quand je comprends pas, je ne peux pas réellement adapter.
A+
Partager