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 Sub

Cordialement,

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

Salut et merci de ta réponse !

à intégrer directement au début de mon code?

Car j'ai une erreur d'exe ..

capture

"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

Rechercher des sujets similaires à "boucle textbox marquer vide"