Je te propose un peu beaucoup à l'aveugle car j'ai pas vu ton fichier !!
VB:
L = 2 ' <== A adapter le N° de la ligne
For i = 1 To 50
Worksheets("Ma feuille").Cells(L, i) = Me("TextBoxCh" & i).Value ' <== nom de la feuille à adapter
Next i
Bonjour,
De " .Range("E" & L" à ".Range("AX" & L) " il n'y a que 46 colonnes
donc la suite logique ne peut pas donner==>TextBoxCh50
C'est faisable avec une boucle, mais la première cellule doit correspondre avec le 1 de ==> TextBoxCh1.Value,
Ce qui a la vue de l'exemple n'est pas le cas
.Range("E" & L) = TextBoxCh1.Value
.Range("D" & L) = TextBoxCh2.Value
.Range("F" & L) = TextBoxCh3.Value
A lieu de
.Range("D" & L) = TextBoxCh1.Value
.Range("E" & L) = TextBoxCh2.Value
.Range("F" & L) = TextBoxCh3.Value
comme je tatonne pas mal , le fichier est en cours d élaboration , les TextBox ne sont pas toutes encore bien nommées.
C est dans l USF rdvch dans le bouton enregistrer
je te remercie Phil , Bonsoir Chti
Vive les réunions... c est toujours extra super mais..
du coup il fallait bien battre un record , je passe à 62 textbox !!
les 45 premières sont bien adressées , les autres non.
les 2 premières listbox "ListRondier " et ListBox1 , ont est obligé de cliquer dedans pour valider la saisie.
et enfin lorsque que l 'opérateur fait une saisie , si il tape sur la touche entrée , on passe de façon aléatoire
à une autre listBox au lieu de passer à la suivante .. bien trop compliqué tout ça pour moi
je remets mon fichier complet.
si vous pouviez ...
Lorsque que l'opérateur fait une saisie, s'il tape sur la touche entrée, on passe de façon aléatoire à une autre TextBox au lieu de passer à la suivante... Bien trop compliqué tout ça pour moi.
bonjour à tous
juste comme ça en passant
dans le tag de tes textboxs met la /les lettres de tes colonnes correspondantes
et tu fait un truc du genre
VB:
for each ctrl in me.controls
if ctrl.tag<>"" then .cells(L,ctrl.tag).value=ctrl.value
next
attention si il y a des dates !!!!!
VB:
for each ctrl in me.controls
if ctrl.tag<>"" then
if isdate(ctrl.value) then
.cells(L,ctrl.tag).value=datevalue(ctrl.value)
else
.cells(L,ctrl.tag).value=ctrl.value
end if
end if
next
il va de soi que pour réduire la boucle et si tout tes textboxs sont dans la même frame on boucle alors sur les controls de la frame uniquement
exemple
VB:
for each ctrl in me.Frame1.controls
if ctrl.tag<>"" then
if isdate(ctrl.value) then
.cells(L,ctrl.tag).value=datevalue(ctrl.value)
else
.cells(L,ctrl.tag).value=ctrl.value
end if
end if
next
Merci pour l'astuce.
Je n'avais jamais remarqué cette possibilité, qui semble effectivement beucoup plus pratique que de renuméroter chaque TextBox une par une à la main...