Bonjour à tous,
Je suis entrain de faire un programme de saisie pour mes opérateurs afin qu'il y ait le moins de risque de pertes de données ou d'erreur de manipulation. Pour cela je passe par un userform contenant 216 textbox (8 lignes de saisie possible avec 26 cases à compléter)
J'ai commencé avec le code suivant mais je voudrai savoir s'il y a un moyen de le réduire en longueur sachant que l'aperçu sera en final multiplié par 4. Etant donné que les textbox se suivent et que les colonnes aussi j'espère qu'il y a moyen de faire plus simple.
Avec mes maigres connaissances en VBA je me pemets de m'en remettre à vous.
Merci pour votre aide
Private Sub CommandButton1_Click()
T = Sheets("Tri final valves").Range("a8000").End(xlUp).Row + 1
With Sheets("Tri final valves")
If TextBox1.Value <> 0 Then
.Range("a" & T).Value = ComboBox1.Value
.Range("b" & T).Value = TextBox1.Value
.Range("c" & T).Value = TextBox2.Value
.Range("d" & T).Value = TextBox3.Value
.Range("e" & T).Value = TextBox4.Value
.Range("f" & T).Value = TextBox5.Value
.Range("g" & T).Value = TextBox6.Value
.Range("h" & T).Value = TextBox7.Value
.Range("i" & T).Value = TextBox8.Value
.Range("j" & T).Value = TextBox9.Value
.Range("k" & T).Value = TextBox10.Value
.Range("l" & T).Value = TextBox11.Value
.Range("m" & T).Value = TextBox12.Value
.Range("n" & T).Value = TextBox13.Value
.Range("o" & T).Value = TextBox14.Value
.Range("p" & T).Value = TextBox15.Value
.Range("q" & T).Value = TextBox16.Value
.Range("r" & T).Value = TextBox17.Value
.Range("s" & T).Value = TextBox18.Value
.Range("t" & T).Value = TextBox19.Value
.Range("u" & T).Value = TextBox20.Value
.Range("v" & T).Value = TextBox21.Value
.Range("w" & T).Value = TextBox22.Value
.Range("x" & T).Value = TextBox23.Value
End If
If TextBox28.Value <> 0 Then
.Range("a" & T + 1).Value = ComboBox1.Value
.Range("b" & T + 1).Value = TextBox28.Value
.Range("c" & T + 1).Value = TextBox29.Value
.Range("d" & T + 1).Value = TextBox30.Value
.Range("e" & T + 1).Value = TextBox31.Value
.Range("f" & T + 1).Value = TextBox32.Value
.Range("g" & T + 1).Value = TextBox33.Value
.Range("h" & T + 1).Value = TextBox34.Value
.Range("i" & T + 1).Value = TextBox35.Value
.Range("j" & T + 1).Value = TextBox36.Value
.Range("k" & T + 1).Value = TextBox37.Value
.Range("l" & T + 1).Value = TextBox38.Value
.Range("m" & T + 1).Value = TextBox39.Value
.Range("n" & T + 1).Value = TextBox40.Value
.Range("o" & T + 1).Value = TextBox41.Value
.Range("p" & T + 1).Value = TextBox42.Value
.Range("q" & T + 1).Value = TextBox43.Value
.Range("r" & T + 1).Value = TextBox44.Value
.Range("s" & T + 1).Value = TextBox45.Value
.Range("t" & T + 1).Value = TextBox46.Value
.Range("u" & T + 1).Value = TextBox47.Value
.Range("v" & T + 1).Value = TextBox48.Value
.Range("w" & T + 1).Value = TextBox49.Value
.Range("x" & T + 1).Value = TextBox50.Value
End If
End With
Unload UserForm3
End Sub
Je suis entrain de faire un programme de saisie pour mes opérateurs afin qu'il y ait le moins de risque de pertes de données ou d'erreur de manipulation. Pour cela je passe par un userform contenant 216 textbox (8 lignes de saisie possible avec 26 cases à compléter)
J'ai commencé avec le code suivant mais je voudrai savoir s'il y a un moyen de le réduire en longueur sachant que l'aperçu sera en final multiplié par 4. Etant donné que les textbox se suivent et que les colonnes aussi j'espère qu'il y a moyen de faire plus simple.
Avec mes maigres connaissances en VBA je me pemets de m'en remettre à vous.
Merci pour votre aide
Private Sub CommandButton1_Click()
T = Sheets("Tri final valves").Range("a8000").End(xlUp).Row + 1
With Sheets("Tri final valves")
If TextBox1.Value <> 0 Then
.Range("a" & T).Value = ComboBox1.Value
.Range("b" & T).Value = TextBox1.Value
.Range("c" & T).Value = TextBox2.Value
.Range("d" & T).Value = TextBox3.Value
.Range("e" & T).Value = TextBox4.Value
.Range("f" & T).Value = TextBox5.Value
.Range("g" & T).Value = TextBox6.Value
.Range("h" & T).Value = TextBox7.Value
.Range("i" & T).Value = TextBox8.Value
.Range("j" & T).Value = TextBox9.Value
.Range("k" & T).Value = TextBox10.Value
.Range("l" & T).Value = TextBox11.Value
.Range("m" & T).Value = TextBox12.Value
.Range("n" & T).Value = TextBox13.Value
.Range("o" & T).Value = TextBox14.Value
.Range("p" & T).Value = TextBox15.Value
.Range("q" & T).Value = TextBox16.Value
.Range("r" & T).Value = TextBox17.Value
.Range("s" & T).Value = TextBox18.Value
.Range("t" & T).Value = TextBox19.Value
.Range("u" & T).Value = TextBox20.Value
.Range("v" & T).Value = TextBox21.Value
.Range("w" & T).Value = TextBox22.Value
.Range("x" & T).Value = TextBox23.Value
End If
If TextBox28.Value <> 0 Then
.Range("a" & T + 1).Value = ComboBox1.Value
.Range("b" & T + 1).Value = TextBox28.Value
.Range("c" & T + 1).Value = TextBox29.Value
.Range("d" & T + 1).Value = TextBox30.Value
.Range("e" & T + 1).Value = TextBox31.Value
.Range("f" & T + 1).Value = TextBox32.Value
.Range("g" & T + 1).Value = TextBox33.Value
.Range("h" & T + 1).Value = TextBox34.Value
.Range("i" & T + 1).Value = TextBox35.Value
.Range("j" & T + 1).Value = TextBox36.Value
.Range("k" & T + 1).Value = TextBox37.Value
.Range("l" & T + 1).Value = TextBox38.Value
.Range("m" & T + 1).Value = TextBox39.Value
.Range("n" & T + 1).Value = TextBox40.Value
.Range("o" & T + 1).Value = TextBox41.Value
.Range("p" & T + 1).Value = TextBox42.Value
.Range("q" & T + 1).Value = TextBox43.Value
.Range("r" & T + 1).Value = TextBox44.Value
.Range("s" & T + 1).Value = TextBox45.Value
.Range("t" & T + 1).Value = TextBox46.Value
.Range("u" & T + 1).Value = TextBox47.Value
.Range("v" & T + 1).Value = TextBox48.Value
.Range("w" & T + 1).Value = TextBox49.Value
.Range("x" & T + 1).Value = TextBox50.Value
End If
End With
Unload UserForm3
End Sub