Lancer un userform en fonction de l'onglet

Résolu/Fermé
ricnoynoy Messages postés 15 Date d'inscription jeudi 25 avril 2019 Statut Membre Dernière intervention 3 mai 2019 - 2 mai 2019 à 19:29
ricnoynoy Messages postés 15 Date d'inscription jeudi 25 avril 2019 Statut Membre Dernière intervention 3 mai 2019 - 3 mai 2019 à 11:40
Bonjour,

j'ai un fichier de factures avec un onglet récapitulatif et des onglets respectifs pour chaque vendeur ayant généré une facture.

A l'ouverture du classeur, suivant le nom d'utilisateur et le mdp, différents onglets sont voyants.

Pour moi tous les onglets sont voyants
Pour chaque vendeur, seul leur onglet respectif est voyant

J'aimerai lancer automatiquement un userform quand le vendeur à renseigné utilisateur + mdp et qu'il arrive sur l'onglet. J'aimerai que cet userform soit lancé une seul fois.

J'aimerai ne pas lancer d'userform quand je renseigne utilisateur + mdp et que j'ai accès à tous les onglets

Seulement si je charge l'userfom dans Private Sub Worksheet_Activate() et bien cela fonctionne logiquement pour les vendeurs qui n'ont qu'un seul onglet actif mais pour moi, ça se charge au début et à chaque changement d'onglet.

Si quelqu'un à la gentillesse de m'aider je suis preneur :)
A voir également:

3 réponses

via55 Messages postés 14398 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 10 avril 2024 2 701
2 mai 2019 à 20:36
Bonsoir

Apparemment ton userform s'ouvre lorsque la feuille vendeur est activée
Comme le mdp entré à l'identification doit être déclaré comme public (sinon il faut le faire) il peut être récupéré dans tous les macros; il suffit donc dans la macro liée à l'activation d'une feuille de mettre au début un
IF mdp="tonmotdepasse" then exit sub
avant la ligne du style USerform1.show

Cdlmnt
Via

1
ricnoynoy Messages postés 15 Date d'inscription jeudi 25 avril 2019 Statut Membre Dernière intervention 3 mai 2019
Modifié par ricnoynoy le 2/05/2019 à 23:10
Bonjour via 55 et merci de ton aide.

J'ai bien déclaré mdp en public comme ceci

Option Explicit
Public mdp as string


Et dans worksheet activate

If mdp = "anne4" Then
Exit Sub
end if
Load UserForm2
UserForm2.Show
Unload UserForm2


là l'userform s'ouvre tout le temps

OU la même chose mais le end if tout à la fin et pas au milieu = l'userform ne s'ouvre jamais

OU

If mdp ="abracadabra" then
Load UserForm2
UserForm2.Show
Unload UserForm2

else if mdp="obrocodobro"
exit sub
end if


OU les deux même sans " Load UserForm2" et "Unload UserForm2"

Sans réussite.
0
ricnoynoy Messages postés 15 Date d'inscription jeudi 25 avril 2019 Statut Membre Dernière intervention 3 mai 2019
2 mai 2019 à 23:12
J'ai cette ligne là dans la macro d'ouverture de classeur, peut-être que ça influence mais ça ne semble pas logique : mdp = InputBox("Veuillez saisir votre mot de passe", "Mot de passe")
0
eriiic Messages postés 24569 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 28 décembre 2023 7 209
2 mai 2019 à 23:36
Bonjour,

Public mdp as string
doit être déclaré dans un module Standard.
eric
1
ricnoynoy Messages postés 15 Date d'inscription jeudi 25 avril 2019 Statut Membre Dernière intervention 3 mai 2019
3 mai 2019 à 11:40
C'était bien ça, merci !
0
via55 Messages postés 14398 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 10 avril 2024 2 701
2 mai 2019 à 23:22
Sans connaitre ton fichier je ne peux pas voir ce qui cloche

Poste ton fichier sur mon-partage.fr, fais créer un lien que tu copies et reviens coller ici en m'indiquant aussi le mdp administrateur et le mdp d''au moins un utilisateur (et les pseudos de chacun s'ils sont à rentrer aussi bien sûr)
0
ricnoynoy Messages postés 15 Date d'inscription jeudi 25 avril 2019 Statut Membre Dernière intervention 3 mai 2019
3 mai 2019 à 11:39
C'est bon eriiic à résolu mon problème :)
0