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

Microsoft 365 Cocher automatiquement des checkbox avec des conditions

TCHIS

XLDnaute Occasionnel
Bonsoir à tous
SVP j'ai deux points sur lesquels j'ai besoin de regardS extérieur
Le premier est que :

Dans mon fichier Excel que j'ai insérer j'ai sur mon formulaire des Checkbox que j'ai paramétrer suivant des conditions par exemple certaines checkbox (Site, Métier) se cochent automatiquement si parmi les fonctions (comme Concepteur Coordinateur ;...ont été sélectionné) ça j'ai pu le faire

Et dans la même approche j'ai voulu conditionner le remplissage des Checkbox (Site et métier ) en fonction de certains checkbox du groupe fonction pour cela j'ai utilisé des conditions if Else mais sans succès

Par exemple si la fonction est Superviseur quand on sélection une des case à cocher du groupe site le souhait est que les autres deviennent incochables (C'est-à-dire sur mes 5 checkbox en lien avec le groupe site si je coche sur Alima les 4autres deviennent insélectionnable et inversement)
Vous pouvez voir cela dans l'évènement click de la case à cocher SIM(Fct8) où j'ai mis ce qui suit

VB:
 If Me.Btn_SaveUser.Value = True Then
                              For i = 1 To 5
                                    If Me.Controls("Site" & i) = True Then
                                        Coché3 = True
                                    End If
                                Next i
                                If Coché3 = False Then
                                     MsgBox "Veuillez définir le site auquel est affilié l'utilisateur "
                                     Exit Sub
                                End If
                 End If[/CODE
mon souci est que rien ne se passe aucun débogage rien du tout ([B]NB[/B]: Je l'ai mis en commentaire volentairement ) alorsje me demande si c'est parce que dans une condition [B]If-End if[/B] j'ai mis d'autres boucles [B]If-End if[/B]

Le second point est plus un renseignement[B] je me demande si il est possible d'unifier plusieurs formulaires VBA en un seul et même formulaire question d'avoir une interface commune qui gère tout ?

Vraiment il n'y a que ça qui me bloque jusqu'ici pour avancer sereinement 🙏 🙏 🙏[/B]
 

Pièces jointes

  • BD_User.xlsm
    60.1 KB · Affichages: 11

ChTi160

XLDnaute Barbatruc
Bonjour TCHIS
Tu dis :
Par exemple si la fonction est Superviseur quand on sélection une des case à cocher du groupe site le souhait est que les autres deviennent incochables
Tu devrais plutôt utiliser de OptionButton plutôt que des case a cocher.
Jean marie
 

Valtrase

XLDnaute Occasionnel
Salut le fil,
Voici mes petites impressions sur ce fichier.
  • Comme dis par Chti160 les boutons d'option sont plus appropriés pour cet usage.
  • Au vu de la taille du tableau structuré, la gestion complète par la zone de liste est plus appropriée je pense.
  • Le tableau peu être simplifié (11 colonnes pour la fonction) etc..
  • Pourquoi le mot de passe ne figure pas sur le formulaire ?
Voilà au vu de tout cela il est possible en nommant les contrôles pour qu'ils puissent être lus dans une boucle, arriver à un code assez simple.
L'utilisation d'une classe pourrait le simplifier encore un peu.
 

Pièces jointes

  • Valtrase - BD_User.xlsm
    52.9 KB · Affichages: 5

TCHIS

XLDnaute Occasionnel
Bonjour à tous merci pour votre réactivité sincèrement merci
Valtrase gros travail que tu as fait
pour ta question
  • Pourquoi le mot de passe ne figure pas sur le formulaire ?
S'il n'y a pas une textBox qui figure sur ce formulaire c'est parce qu'il doit avoir un formulaire de connexion qui comprend (Mot de passe et Confirmation de mot de passe pour la première connexion d'un utilisateur ) le formulaire USF7 sert à la créer un compte d'utilisateur ou encore d'en modifier un.

Je n'ai pas encore eu mle temps pour à la fois viens le fichier que tu me proposes et d'adaptés le mien en fonction des solutions que ça apporte alors je reviens vers vous.
 

ChTi160

XLDnaute Barbatruc
Bonsoir
Une vision de ce que je proposais #6(d'après le Fichier de Valtrase)
Bonne fin de Soirée.
Jean Marie
 

Pièces jointes

  • Valtrase - BD_User Chti160.xlsm
    49.3 KB · Affichages: 8

TCHIS

XLDnaute Occasionnel
Salut le fil,
Comme dis si bien Chit160, tu peux utiliser un contrôle multipage , que tu peux adapter.
En voici un exemple concret, d'un projet sur lequel je travaille.
Regarde la pièce jointe 1169460
Bonjour
Valtrase
Salut le fil,
Comme dis si bien Chit160, tu peux utiliser un contrôle multipage , que tu peux adapter.
En voici un exemple concret, d'un projet sur lequel je travaille
C'est exactement ce à quoi je fais allusion.
Penses tu pouvoir m'avoir un fichier exemple sur lequel je peux m'inspirer pour adapter le mien stp
Un comme celui de ton exemple stp
 

TCHIS

XLDnaute Occasionnel
Salut le fil,
Comme dis si bien Chit160, tu peux utiliser un contrôle multipage , que tu peux adapter.
En voici un exemple concret, d'un projet sur lequel je travaille.
Regarde la pièce jointe 1169460
C'est bon j'ai pu tout monter sur un seul et unique userform avec le controle multipage
si ce n'est pas trop demander l'un de vous peut-me montrer sur comment afficher une page précise au clique sur un bouton svp
 

Valtrase

XLDnaute Occasionnel
Salut le fil
Alors c'est parti
  • Dans les propriétés du multipage tu passes la propriété Style à fmTabStyleNone
  • Tu ne peux pas changer la couleur des pages d'un Multipage pour contourner tu crée des images de 200 par 200 pixels à la couleur voulu et tu les associe aux pages
  • Sur la gauche tu crée un cadre
  • Dedans tu y colles le nombre de bouton qu'il faut (ce sont des Label)
  • Tu met en forme les labels couleur dimension etc..
  • Pour centrer le texte des label
    • Faire une image avec Paint.net taille 1 Pixel, transparente, au format BMP
    • Tu associe l'image à chaque label
    • Tu passes la propriété PicturePosition sur fmPicturePositionCenter
  • Dans Private Sub Label1_Click() tu associe le clic au multipage concerné, le premier c'est 0 et.
VB:
Private Sub Label1_Click()
    Multipage1.Value = 0
End Sub
Private Sub Label2_Click()
    Multipage1.Value = 1
End Sub
'...
...'
Pour la mise en surbrillance c'est une autre histoir
 
Dernière édition:

TCHIS

XLDnaute Occasionnel
Je m'en vais mettre cela en application merci.
Mais j'ai une question pour la compréhension s'il te plait
Private Sub Label1_Click()
Multipage1.Value = 0
End Sub
Mulitipage1.Value =0 c'est pour dire le click sur le label1 ou la page1 du multipage d'où le 0.
Donc
  • 0 c'est pour la page 1
  • 1 c'est pour la page 2
  • Et si il y a une page 3 il faudra dire Multipage1.Value= 2
Est ce que c'est bien cela la logique qui s'applique s'il te plait ?
Je demande car mon cas est un peu complexe car j'ai deux multipage dans mon projet (Userform)
  • Le premier multipage(Multipage1) possède deux pages
    • la page1 c'est l'acceuil
    • la page2 à un cadre à gauche puis un autre dans lequel j'ai le second Multipage(Multipage2)
      • et c'est là dans le Mutipage2 que j'ai mes autres pages(1,2,3) et à chacune de ces pages correspond un cadre dans le cadre1.
      • ces cadres servent de boutons pour passer d'une page à une autre
Mais à la page 1 de l'acceuil j'ai des cadres qui serviront à aller ouvrir les pages se trouvant dans mon multipage2
Voilà la particularité de mon cas vous voyez un peu
 
Dernière édition:

ChTi160

XLDnaute Barbatruc
Bonsoir le Fil
Tu dis :
Mulitipage1.Value =0 c'est pour dire le click sur le label1 ou la page1 du multipage d'où le 0.
La réponse est là
VB:
Private Sub Label1_Click()
Multipage1.Value = 0
End Sub
On Click sur le Label qui correspond à La page que l'on veut afficher et le 0 correspond. A l'index de la page cible dans le multipage.
Jean marie
 

Discussions similaires

Réponses
13
Affichages
454
Réponses
8
Affichages
513
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…