Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Incrémentation pour des Textbox d'un Userform...

2 réponses
Avatar
-Tibo-
Bonjour a tous,

Dans le but d'automatiser un fichier de production, j'ai créer un
Userform qui contient environ 8 groupe de 15 Textbox qui ont toute le
même nom sauf le dernier chiffres. Une fois les box remplis, les data
doivent être copier dans une feuille.
Le nombre de cellule à remplir en fonction de ce que l'on veut est
toujours différent et je souhaite alléger mon code permettant de copier
les donné a des endroit précis.
Par exemple :

For i=1 to 15
if textbox=vide then goto 1
else
Range("AA"&i)=Textbox(i)
end if
Next
1


Ce code me sert a copier une série de donné dans une colonne et a passer
à la suivante une Textbox est vide.

Le probleme c'est que la fonction TextBox(i), qui devrait renvoyer à la
Textbox1, Textbox2, etc.. ne marche pas. Du coup je dois faire une ligne
par textbox ce qui est tres lourd. Comment faire ?

Je ne sais si j'ai ete clair mais si ce n'est pas le cas je mettrai mon
fichier exemple en lien...

Merci beaucoup de votre aide.
Cordialement.

-Tibo-

2 réponses

Avatar
JB
Bonjour,

i = 1
Do While i <= 15 And Controls("textbox" & i) <> ""
Range("AA" & i) = Controls(TextBox & i)
i = i + 1
Loop

ou

i = 1
Do While i <= 15 And Me("textbox" & i) <> ""
Range("AA" & i) = Me(TextBox & i)
i = i + 1
Loop

http://boisgontierjacques.free.fr/pages_site/formchampindices.htm

JB

On 12 avr, 02:44, -Tibo- wrote:
Bonjour a tous,

Dans le but d'automatiser un fichier de production, j'ai créer un
Userform qui contient environ 8 groupe de 15 Textbox qui ont toute le
même nom sauf le dernier chiffres. Une fois les box remplis, les data
doivent être copier dans une feuille.
Le nombre de cellule à remplir en fonction de ce que l'on veut est
toujours différent et je souhaite alléger mon code permettant de copie r
les donné a des endroit précis.
Par exemple :

For i=1 to 15
        if textbox=vide then goto 1
        else
                Range("AA"&i)=Textbox(i)
        end if
Next
1

Ce code me sert a copier une série de donné dans une colonne et a pass er
à la suivante une Textbox est vide.

Le probleme c'est que la fonction TextBox(i), qui devrait renvoyer à la
Textbox1, Textbox2, etc.. ne marche pas. Du coup je dois faire une ligne
par textbox ce qui est tres lourd. Comment faire ?

Je ne sais si j'ai ete clair mais si ce  n'est pas le cas je mettrai mon
fichier exemple en lien...

Merci beaucoup de votre aide.
Cordialement.

-Tibo-


Avatar
-Tibo-
Merci beaucoup.. ça marche au poil... en fait ce qu'il me manquait
c'était la syntaxe pour "Controls(TextBox & i)"...
@+



Bonjour,

i = 1
Do While i <= 15 And Controls("textbox" & i) <> ""
Range("AA" & i) = Controls(TextBox & i)
i = i + 1
Loop

ou

i = 1
Do While i <= 15 And Me("textbox" & i) <> ""
Range("AA" & i) = Me(TextBox & i)
i = i + 1
Loop

http://boisgontierjacques.free.fr/pages_site/formchampindices.htm

JB

On 12 avr, 02:44, -Tibo- wrote:
Bonjour a tous,

Dans le but d'automatiser un fichier de production, j'ai créer un
Userform qui contient environ 8 groupe de 15 Textbox qui ont toute le
même nom sauf le dernier chiffres. Une fois les box remplis, les data
doivent être copier dans une feuille.
Le nombre de cellule à remplir en fonction de ce que l'on veut est
toujours différent et je souhaite alléger mon code permettant de copier
les donné a des endroit précis.
Par exemple :

For i=1 to 15
if textbox=vide then goto 1
else
Range("AA"&i)=Textbox(i)
end if
Next
1

Ce code me sert a copier une série de donné dans une colonne et a passer
à la suivante une Textbox est vide.

Le probleme c'est que la fonction TextBox(i), qui devrait renvoyer à la
Textbox1, Textbox2, etc.. ne marche pas. Du coup je dois faire une ligne
par textbox ce qui est tres lourd. Comment faire ?

Je ne sais si j'ai ete clair mais si ce n'est pas le cas je mettrai mon
fichier exemple en lien...

Merci beaucoup de votre aide.
Cordialement.

-Tibo-