Lancer un userform en fonction de l'onglet [Résolu/Fermé]

Signaler
Messages postés
15
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
3 mai 2019
-
Messages postés
15
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
3 mai 2019
-
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 :)

3 réponses

Messages postés
12359
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
1 juillet 2020
1 915
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65377 internautes nous ont dit merci ce mois-ci

Messages postés
15
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
3 mai 2019

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.
Messages postés
15
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
3 mai 2019

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")
Messages postés
23375
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
30 juin 2020
6 219
Bonjour,

Public mdp as string
doit être déclaré dans un module Standard.
eric
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65377 internautes nous ont dit merci ce mois-ci

Messages postés
15
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
3 mai 2019

C'était bien ça, merci !
Messages postés
12359
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
1 juillet 2020
1 915
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)
Messages postés
15
Date d'inscription
jeudi 25 avril 2019
Statut
Membre
Dernière intervention
3 mai 2019

C'est bon eriiic à résolu mon problème :)