Boucle textbox + marquer 0 si vide
Bonjour à tous,
Je parcours pas mal votre forum afin d'automatiser mes fichiers, mais cette fois çi, je n'arrive pas à résoudre le problème tout seul..
Je préviens d'avance que je ne peux pas envoyer mon fichier car bcp trop de donnés confidentielles..
En gros, j'ai un fichier avec un userform. Cet userform contient des textbox (de 1 à 372, j'ai préféré séparer les n° pour confort perso).
J'aimerais qu'avant que toutes ces données soient implantés dans mon fichier, une boucle se lance afin de vérifier si toutes les textbox ont été rempli. Si ce n'est pas le cas, il faudrait qu'à l'intérieur de ces dernières il soit marqué 0.
J'espère être clair ..
Voici un bout de mon code..
Private Sub CommandButton3_Click() 'bouton AJOUTER
Dim L, i As Integer
L = Sheets("OO").Range("a65536").End(xlUp).Row + 1
Sheets("OO").Range("A" & L).Value = TextBox26.Value
Sheets("OO").Range("B" & L).Value = TextBox2.Value
Sheets("OO").Range("C" & L).Value = TextBox3.Value
Sheets("OO").Range("D" & L).Value = TextBox4.Value
Sheets("OO").Range("E" & L).Value = TextBox5.Value
Sheets("OO").Range("F" & L).Value = TextBox6.Value
Sheets("OO").Range("G" & L).Value = TextBox7.Value
Sheets("OO").Range("H" & L).Value = TextBox8.Value
Sheets("OO").Range("I" & L).Value = TextBox9.Value
Sheets("OO").Range("J" & L).Value = TextBox10.Value
Sheets("OO").Range("K" & L).Value = TextBox11.Value
Sheets("OO").Range("L" & L).Value = TextBox12.Value
Sheets("OO").Range("M" & L).Value = TextBox13.Value
Sheets("OO").Range("N" & L).Value = TextBox14.Value
Sheets("OO").Range("O" & L).Value = TextBox15.Value
Sheets("OO").Range("P" & L).Value = TextBox16.Value
Sheets("OO").Range("Q" & L).Value = TextBox17.Value
Sheets("OO").Range("R" & L).Value = TextBox18.Value
Sheets("OO").Range("S" & L).Value = TextBox19.Value
Sheets("OO").Range("T" & L).Value = TextBox20.Value
Sheets("OO").Range("U" & L).Value = TextBox21.Value
Sheets("OO").Range("V" & L).Value = TextBox22.Value
Sheets("OO").Range("W" & L).Value = TextBox23.Value
Sheets("OO").Range("X" & L).Value = TextBox24.Value
Sheets("OO").Range("Y" & L).Value = TextBox25.Value
Sheets("OO").Range("AA" & L).Value = TextBox51.Value
L = Sheets("3S").Range("a65536").End(xlUp).Row + 1
Sheets("3S").Range("A" & L).Value = TextBox26.Value
Sheets("3S").Range("B" & L).Value = TextBox27.Value
Sheets("3S").Range("C" & L).Value = TextBox28.Value
Sheets("3S").Range("D" & L).Value = TextBox29.Value
Sheets("3S").Range("E" & L).Value = TextBox30.Value
Sheets("3S").Range("F" & L).Value = TextBox31.Value
Sheets("3S").Range("G" & L).Value = TextBox32.Value
Sheets("3S").Range("H" & L).Value = TextBox33.Value
Sheets("3S").Range("I" & L).Value = TextBox34.Value
Sheets("3S").Range("J" & L).Value = TextBox35.Value
Sheets("3S").Range("K" & L).Value = TextBox36.Value
Sheets("3S").Range("L" & L).Value = TextBox37.Value
Sheets("3S").Range("M" & L).Value = TextBox38.Value
Sheets("3S").Range("N" & L).Value = TextBox39.Value
Sheets("3S").Range("O" & L).Value = TextBox40.Value
Sheets("3S").Range("P" & L).Value = TextBox41.Value
Sheets("3S").Range("Q" & L).Value = TextBox42.Value
Sheets("3S").Range("R" & L).Value = TextBox43.Value
Sheets("3S").Range("S" & L).Value = TextBox44.Value
Sheets("3S").Range("T" & L).Value = TextBox45.Value
Sheets("3S").Range("U" & L).Value = TextBox46.Value
Sheets("3S").Range("V" & L).Value = TextBox47.Value
Sheets("3S").Range("W" & L).Value = TextBox48.Value
Sheets("3S").Range("X" & L).Value = TextBox49.Value
Sheets("3S").Range("Y" & L).Value = TextBox50.Value
Sheets("3S").Range("AA" & L).Value = TextBox52.Value
L = Sheets("TAD").Range("a65536").End(xlUp).Row + 1
Sheets("TAD").Range("A" & L).Value = TextBox26.Value
Sheets("TAD").Range("B" & L).Value = TextBox302.Value
Sheets("TAD").Range("C" & L).Value = TextBox303.Value
Sheets("TAD").Range("D" & L).Value = TextBox304.Value
Sheets("TAD").Range("E" & L).Value = TextBox305.Value
Sheets("TAD").Range("F" & L).Value = TextBox306.Value
Sheets("TAD").Range("G" & L).Value = TextBox307.Value
Sheets("TAD").Range("H" & L).Value = TextBox308.Value
Sheets("TAD").Range("I" & L).Value = TextBox309.Value
Sheets("TAD").Range("J" & L).Value = TextBox310.Value
Sheets("TAD").Range("K" & L).Value = TextBox311.Value
Sheets("TAD").Range("L" & L).Value = TextBox312.Value
Sheets("TAD").Range("M" & L).Value = TextBox313.Value
Sheets("TAD").Range("N" & L).Value = TextBox314.Value
Sheets("TAD").Range("O" & L).Value = TextBox315.Value
Sheets("TAD").Range("P" & L).Value = TextBox316.Value
Sheets("TAD").Range("Q" & L).Value = TextBox317.Value
Sheets("TAD").Range("R" & L).Value = TextBox318.Value
Sheets("TAD").Range("S" & L).Value = TextBox319.Value
Sheets("TAD").Range("T" & L).Value = TextBox320.Value
Sheets("TAD").Range("U" & L).Value = TextBox321.Value
Sheets("TAD").Range("V" & L).Value = TextBox322.Value
Sheets("TAD").Range("W" & L).Value = TextBox323.Value
Sheets("TAD").Range("X" & L).Value = TextBox324.Value
L = Sheets("RECLALOC").Range("a65536").End(xlUp).Row + 1
Sheets("RECLALOC").Range("A" & L).Value = TextBox26.Value
Sheets("RECLALOC").Range("B" & L).Value = TextBox326.Value
Sheets("RECLALOC").Range("C" & L).Value = TextBox327.Value
Sheets("RECLALOC").Range("D" & L).Value = TextBox328.Value
Sheets("RECLALOC").Range("E" & L).Value = TextBox329.Value
Sheets("RECLALOC").Range("F" & L).Value = TextBox330.Value
Sheets("RECLALOC").Range("G" & L).Value = TextBox331.Value
Sheets("RECLALOC").Range("H" & L).Value = TextBox332.Value
Sheets("RECLALOC").Range("I" & L).Value = TextBox333.Value
Sheets("RECLALOC").Range("J" & L).Value = TextBox334.Value
Sheets("RECLALOC").Range("K" & L).Value = TextBox335.Value
Sheets("RECLALOC").Range("L" & L).Value = TextBox336.Value
Sheets("RECLALOC").Range("M" & L).Value = TextBox337.Value
Sheets("RECLALOC").Range("N" & L).Value = TextBox338.Value
Sheets("RECLALOC").Range("O" & L).Value = TextBox339.Value
Sheets("RECLALOC").Range("P" & L).Value = TextBox340.Value
Sheets("RECLALOC").Range("Q" & L).Value = TextBox341.Value
Sheets("RECLALOC").Range("R" & L).Value = TextBox342.Value
Sheets("RECLALOC").Range("S" & L).Value = TextBox343.Value
Sheets("RECLALOC").Range("T" & L).Value = TextBox344.Value
Sheets("RECLALOC").Range("U" & L).Value = TextBox345.Value
Sheets("RECLALOC").Range("V" & L).Value = TextBox346.Value
Sheets("RECLALOC").Range("W" & L).Value = TextBox347.Value
Sheets("RECLALOC").Range("X" & L).Value = TextBox348.Value
L = Sheets("REEX").Range("a65536").End(xlUp).Row + 1
Sheets("REEX").Range("A" & L).Value = TextBox26.Value
Sheets("REEX").Range("B" & L).Value = TextBox350.Value
Sheets("REEX").Range("C" & L).Value = TextBox351.Value
Sheets("REEX").Range("D" & L).Value = TextBox352.Value
Sheets("REEX").Range("E" & L).Value = TextBox353.Value
Sheets("REEX").Range("F" & L).Value = TextBox354.Value
Sheets("REEX").Range("G" & L).Value = TextBox355.Value
Sheets("REEX").Range("H" & L).Value = TextBox356.Value
Sheets("REEX").Range("I" & L).Value = TextBox357.Value
Sheets("REEX").Range("J" & L).Value = TextBox358.Value
Sheets("REEX").Range("K" & L).Value = TextBox359.Value
Sheets("REEX").Range("L" & L).Value = TextBox360.Value
Sheets("REEX").Range("M" & L).Value = TextBox361.Value
Sheets("REEX").Range("N" & L).Value = TextBox362.Value
Sheets("REEX").Range("O" & L).Value = TextBox363.Value
Sheets("REEX").Range("P" & L).Value = TextBox364.Value
Sheets("REEX").Range("Q" & L).Value = TextBox365.Value
Sheets("REEX").Range("R" & L).Value = TextBox366.Value
Sheets("REEX").Range("S" & L).Value = TextBox367.Value
Sheets("REEX").Range("T" & L).Value = TextBox368.Value
Sheets("REEX").Range("U" & L).Value = TextBox369.Value
Sheets("REEX").Range("V" & L).Value = TextBox370.Value
Sheets("REEX").Range("W" & L).Value = TextBox371.Value
Sheets("REEX").Range("X" & L).Value = TextBox372.Value
Worksheets("OO").Visible = False
Worksheets("3S").Visible = False
Worksheets("TAD").Visible = False
Worksheets("RECLALOC").Visible = False
Worksheets("REEX").Visible = False
Sheets("SOMMAIRE").Select
Unload Me
End SubCordialement,
Bonjour,
une boucle en mettant le nom des TextBox en "variable" avec un compteur qui va de 1 à 372 :
Dim Cpt As Integer
For Cpt = 1 To 372
If Controls("Textbox" & Cpt).Value = "" Then Controls("Textbox" & Cpt).Value = 0
Next Cpt@ bientôt
LouReeD
"Objet spécifié introuvable"
Ce qui me laisse entendre que vous avez un "trou" dans vos TextBox...
Du coup vous le trouvez et le boucher ou bien vous mettez une gestion d'erreur :
Dim Cpt As Integer
On Error Resume Next
For Cpt = 1 To 372
If Controls("Textbox" & Cpt).Value = "" Then Controls("Textbox" & Cpt).Value = 0
Next Cpt
On Error Goto 0@ bientôt
LouReeD
