XL 2013 Bouton validé enregistrement avec condition

nono79

XLDnaute Nouveau
Bonjour le forum;

j'ai besoin de votre aide si c'est possible bien sur, j'ai un userform qui contient des combobox et des textbox, combobox = numéro de session et la textbox = numero du groupe, voila je veux quand je saisie a la validation un contrôle s'effectue comme suit :
une session contient plusieurs groupes, une groupe ne doit pas dépasser les 15 personnes.
Exemple: numero de session = /S01/16/2021

je m'explique, une session peut contenir plusieurs groupes, le groupe ne doit pas dépasser les 15 personnes dans une salle.

Exemple :

Session 01 /S01/16/2021 = Groupe 1 = 15 personnes = salle 01

Session 01/S01/16/2021 = Groupe 2 = 15 personnes = salle 02

Session 01/S01/16/2021 = Groupe N = 15 personnes = salle N

Session 02/S02/16/2021 = Groupe 1 = 15 personnes = salle 01 ainsi de suite.

Si le Groupe 01 = 15 personnes, si je dépasse les 15 personnes un message s'affiche " vous pouvez pas dépasser 15 personnes par groupe veuillez créer un nouveau groupe"

je vous remercie d'avance.
bonne journée .
 
Solution
Bonjour nono79,

tu as bien décrit la procédure. 👍 :) problème réglé avec cette nouvelle sub :​

VB:
Private Sub cmdValid_Click()
  Dim ws As Worksheet
  For Each ws In ActiveWorkbook.Worksheets
    ws.Protect Password:=PWD, UserInterfaceOnly:=True
  Next ws
  If cbx05 = "" And cbx09 = "" Then 'Nom/Prénom (arabe) & Nom/Prénom (recherche)
    MsgBox "Veuillez renseigner les champs   'Nom/Prénom' ": Exit Sub
  End If
  If MsgBox("confirmez-vous l'ajout des données ?", 4, "confirmation") <> 6 Then Exit Sub
  tbx03 = Format(tbx03, ("YYYY/MM/DD")): tbx04 = Format(tbx04, ("YYYY/MM/DD"))
  tbx06 = Format(tbx06, ("YYYY/MM/DD")): tbx10 = Format(tbx10, ("YYYY/MM/DD"))
  Dim NP&, GR As Byte, SL As Byte, dlg&
  With Worksheets("Feuil1")...

soan

XLDnaute Barbatruc
Inactif
Bonjour nono79,

il te suffit de tester la TextBox où tu as mis le nombre de personnes pour le groupe affiché ; si cette TextBox s'appelle par exemple NbPers, tu peux mettre :
VB:
If NbPers = 15 Then MsgBox "Vous ne pouvez pas dépasser 15 personnes par groupe." & vbLf _
  & "Veuillez créer un nouveau groupe.": Exit Sub
soan
 

nono79

XLDnaute Nouveau
Bonjour soan;
merci pour ta rapidité, mais dans mon userform si tu la vue y'a pas de textbox a testé, je souhaite quand je fait la saisie, du numéro de session /S01/16/2021 puis le numéro du groupe 01, la le groupe contient plusieurs personnes d'où je doit pas dépasser 15 personne par groupe.
merci d'avance
 

soan

XLDnaute Barbatruc
Inactif
@nono79

j'étais absent, et je viens de lire ton post #3.

* je n'ai pas pu voir ton UserForm car tu n'as pas joint de fichier.
* comment s'appelle ce UF où tu fais la saisie ?

* tu saisis la session "/S01/16/2021" ; est-ce normal que ça commence par "/" ? c'est peut-être une erreur de frappe et la session est "S01/16/2021" ? comment s'appelle le TextBox où tu saisis la session ?

* tu saisis le n° de groupe, par exemple 01 ; comment s'appelle le TextBox où tu saisis le n° de groupe ?

* où est le nombre de personnes du groupe concerné ? s'il est pas dans un TextBox, est-il sur une cellule de la feuille de calcul ? si oui, quelle est la référence de cette cellule ? D5 ? autre ? si ce nombre de personnes est ni dans un TextBox, ni dans une cellule, il faudrait pouvoir le calculer à partir de la liste des personnes du groupe 01 de la session "S01/16/2021" ; où se trouvent ces données ? sur quelle feuille et dans quelle plage de cellules ? dans une plage « normale » ou dans un Tableau structuré ? si c'est dans un Tableau structuré, quel est son nom ?

je pourrai essayer de t'aider si tu réponds clairement aux questions ci-dessus et si tu joins un fichier exemple suffisamment représentatif, sans données confidentielles ; pour envoyer ton fichier, utilise le bouton « Joindre un fichier » qui sera sous ton prochain post en cours d'édition (taille maxi, zippé ou non : 1 Mo).
soan
 

nono79

XLDnaute Nouveau
Bonjour soan;
je suis très reconnaissant pour ton aide, je te remercie.
pour le / de la session c'est normale car je l'utilise après dans publipostage, pour la saisie de la session c'est dans une combobox3.
le n° du groupe je le saisie au niveau de textbox16.
le nombre de personne du groupe ni dans une cellule ni dans une combobox ou textbox justement il faudrait pouvoir le calculer à partir de la liste des personnes elle se trouve au niveau de la BD que j'ai pas pu le faire.
pour le fichier je l'ai belle est bien joint mais âprement il y a un problème.
je vais le joindre maintenant de nouveau.
merci pour tous.
 

Pièces jointes

  • formulaire.xlsm
    267.5 KB · Affichages: 23

Staple1600

XLDnaute Barbatruc
Bonjour le fil

Je plussoie aux propos de soan.
=>nono79
Et pour éviter toute question relative au RGPD, tu peux utiliser cette petite macro pour anonymiser ton fichier
VB:
Sub Anonymisez()
[D2:D32] = "=""NOM""&ROW()-1&"" Prenom""&ROW()-1"
[D2:D32] = [D2:D32].Value
End Sub
C'est indolore et cela prend moins de 5 minutes.

NB: De plus ce petit bout de code pourra te resservir pour tes prochains fichiers.
;)
 

nono79

XLDnaute Nouveau
Bonjour le fil

Je plussoie aux propos de soan.
=>nono79
Et pour éviter toute question relative au RGPD, tu peux utiliser cette petite macro pour anonymiser ton fichier
VB:
Sub Anonymisez()
[D2:D32] = "=""NOM""&ROW()-1&"" Prenom""&ROW()-1"
[D2:D32] = [D2:D32].Value
End Sub
C'est indolore et cela prend moins de 5 minutes.

NB: De plus ce petit bout de code pourra te resservir pour tes prochains fichiers.
;)
Bonjour staple1600;
je vous remercie.
 

soan

XLDnaute Barbatruc
Inactif
@nono79

j'ai oublié de t'indiquer la procédure à suivre :

* va sur "Feuil3" et clique sur le bouton « Ouvrir » (et pas « Ovrir » : tu avais oublié le « u »)

* choisis "/S01/16/2019" ; appuie sur la touche Tab (Tabulation)
* saisis le n° de groupe : "01" ; appuie sur Tab ➯ message
* normalement, la suite est de compléter le formulaire

* choisis "/S01/16/2020" ; appuie sur Tab ; message,
qui sera suivi d'un autre message.


(merci pour avoir confirmé que tu as lu le code VBA ! :))

soan
 

nono79

XLDnaute Nouveau
@nono79

j'ai oublié de t'indiquer la procédure à suivre :

* va sur "Feuil3" et clique sur le bouton « Ouvrir » (et pas « Ovrir » : tu avais oublié le « u »)

* choisis "/S01/16/2019" ; appuie sur la touche Tab (Tabulation)
* saisis le n° de groupe : "01" ; appuie sur Tab ➯ message
* normalement, la suite est de compléter le formulaire

* choisis "/S01/16/2020" ; appuie sur Tab ; message,
qui sera suivi d'un autre message.


(merci pour avoir confirmé que tu as lu le code VBA ! :))

soan
Bonjour soan;
merci beaucoup c'est super 👌 , je l'ai testé et s'marche très bien.
bonne continuation dans ce que tu fait.
a très bientôt.
 

Discussions similaires

Réponses
17
Affichages
3 K

Statistiques des forums

Discussions
312 115
Messages
2 085 447
Membres
102 889
dernier inscrit
monsef JABBOUR