Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Pb sur fichier de saisie : boucle, mise à jour de label et limitation des textbox

franckyh1

XLDnaute Nouveau
Bonjour,

Je pense que quelqu'un pourra m'aider, j'ai avancé sur un fichier avec mes connaissances limitées mais là je bloque.

C'est un fichier de commande repas.
Je joins un fichier de saisie, j'ai créer 2 userform, un d'accueil pour sélectionner les paramètres globaux du fichier, le second pour la saisie des repas chambre par chambre.

Le second userform me pose 3 problèmes (Userform1):

1- je ne sais pas créer une boucle qui me permet de changer de ligne dans le tableau pour renseigner la ligne correspondant à la chambre.

2- J'ai trouvé un moyen de mettre à jour les labels (labels qui doivent correspondre au plat proposé dans la ligne en jaune), j'ai mis un exemple dans le code de la combobox ceci me va très bien, mais existe-t-il un moyen de faire correspondre rapidement au labels les cellules car la cela fait une quantite de ligne à rentrer dans le code vba du combobox.

3- J'ai également trouvé le moyen de limiter la saisie dans les textbox à 0 et 1. Je voudrais l'appliquer à une grande quantité de textbox mais pas toutes...

Pouvez vous me guider ou me proposer des codes pour ces problèmatique?

Merci à tous par avance.
 

Pièces jointes

  • Service vierge.xls
    236 KB · Affichages: 50

Robert

XLDnaute Barbatruc
Repose en paix
Re : Pb sur fichier de saisie : boucle, mise à jour de label et limitation des textbo

Bonjour Francky, Staple, bonjour le forum,

Staple, te fous pas de ma gueule...

Bon, revenons à nos moutons... Une Userform, quel que soit son nom (propriété Name), s'initialise avec l'événementielle UserForm_Initialize. En revanche, pour la charger et l'afficher il faut le faire par son nom. Donc, si tu la nommes par exemple USFClient, tu l'initialise avec UserForm_Initialise mais tu l'ouvres avec USFClient.Show... Dans ton code Tu as écris UserForm.Show au lieu de UserForm1.show...
Mais ce n'est pas le seul problème car, enfin tu vas enfin pouvoir dire Robert s'est planté*.
Je ne me suis pas complètement planté mais j'ai oublié de te dire que la propriété RowSource était incompatible avec l'alimentation de la ComboBox1 telle que je te l'ai proposée. Il faut effacer A3:A20 pour que la propriété RowSource soit vide. Tu trouveras souvent dans ce forum des personnes se plaigant de bugs lié à RowSource. C'est pourquoi je ne l'utilise plus et je te recommande d'en faire autant...

*si chaque fois que je m'étais planté en aidant quelqu'un j'avais reversé 1 centimes d'euro au forum, David roulerait en Ferrari et passerait ses vacances avec Bill Gates...
 

Staple1600

XLDnaute Barbatruc
Re : Pb sur fichier de saisie : boucle, mise à jour de label et limitation des textbo

Re


Staple, te fous pas de ma gueule...
Robert
Tel n'est pas mon propos.
car comme je l'ai écrit j'ai téléchargé le dernier fichier de franky (et seulement celui-ci)
et j'ai présupposé qu'il avait fait des modifs, créatrices d'erreur.
(comme celle que j'ai signalé sur son message #9)
Le seul tort que tu peux m'imputer c'est de ne pas avoir dument préciser que mes messages s'adressaient exclusivement à Franky.
Et encore c'est juste de la fainéantise dominicale pour cause de digestion difficile du premier BBC de l'année
 
Dernière édition:

franckyh1

XLDnaute Nouveau
Re : Pb sur fichier de saisie : boucle, mise à jour de label et limitation des textbo

Ok, retour à la normal.

La continuité entre les userform est bonne.

En revanche, le remplissage du tableau ne démarre pas.
C'est à dire que lorsque je rentre les chiffre dans le userform :
Les chiffres ne s'affichent pas dans le tableau et si je change de chambre les chiffres indiqués devant les plats ne changent pas.

Aurais-je intégré une erreur en rajoutant mes label et textbox supplémentaires?

Robert n'est pas le responsable donc j'assume.
 

Pièces jointes

  • servicevierge4.xls
    272 KB · Affichages: 58
  • servicevierge4.xls
    272 KB · Affichages: 44
  • servicevierge4.xls
    272 KB · Affichages: 47

franckyh1

XLDnaute Nouveau
Re : Pb sur fichier de saisie : boucle, mise à jour de label et limitation des textbo

Je comprends que ce que cherche se trouve dans la citation de Robert :

"Pour le numéro de chambre c'est simple. La propriété ListIndex de la ComboBox renvoie le numéro de l'item sélectionné (de 0 pour le premier à Nombre d'items -1 pour le dernier). Sachant que le premier item (Chambre 100) se trouve en ligne 3, la correspondance est toute faite : la ligne est égale à Me.ComboBox1.ListIndex + 3. Il te suffit donc de céer une variable (li par exemple) pour récupérer le numéro de ligne avec li = Me.ComboBox1.Listindex.
"
Mais je vois pas comment l'intégrer dans mon code, mes connaissances sont limitées à ce niveau.

Pouvez vous m'aider?
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Pb sur fichier de saisie : boucle, mise à jour de label et limitation des textbo

Bonjour Francky, bonjour le forum,

J'ai de gros problèmes de bibliothèques manquante avec ton ton fichier. je suis obligé chaque fois de désactiver le calendrier et de remplacer le code du module de classe à cause de Char. Je ne peux pas tester à cause de Mid mais je pense que ça devrait fonctionner.
L'affichage des menus se fait à l'initialisation de l'UserForm. Le renvoie des données se fait via le bouton Commander.
Le code du bouton :
Code:
"Private Sub CommandButton1_Click() 'bouton "Commander"
Dim ctrl As Control 'déclare la variable ctrl (ConTRôLe)
Dim li As Byte 'déclare la variable li (Ligne)
Dim col As Byte 'déclare la variable col (COLonne)

col = Me.ComboBox1.ListIndex + 3
For Each ctrl In Me.Controls
    If TypeOf ctrl Is MSForms.TextBox And ctrl.Value = 1 Then
        col = Mid(ctrl.Name, 8)
        Sheets("Saisie").Cells(li, col).Value = ctrl.Value
    End If
Next ctrl
End Sub
Le fichier :
 

Pièces jointes

  • Francky_v03.xls
    281.5 KB · Affichages: 50

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…