|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre à l'essai
![]() Inscription : avril 2004 Messages : 38 ![]() |
Bonjour,
J'utilise une macro VBA, la même ou presque pour Word, Excel, Outlook. Cette VBA fait appel à un OCX (dont je peux modifier le source au besoin), et qui fait appel à une procedure d'authenfication simple : Dialogue avec demande de login et mot de passe (dans cet OCX). Je voulais savoir s'il y a un moyen simple pour faire en sorte que l'utilisateur qui travaille avec cet macro n'est besoin que de s'authenfier une fois. A l'heure actuelle, lorsque l'utilisateur clique sur le bouton qui execute la macro VBA, l'authenfication est demandée à chaque appel de cet macro. Plus simplement, l'information "authenfication effectuée" n'a de persistance que tant que la macro reste ouverte. Je voulais donc savoir s'il y avait un moyen de preserver cette persistance jusqu'à la fermeture de Word (ou Excel, ou...). Merci. |
|
|
00
|
|
|
#2 | ||||
|
Membre régulier
![]() |
Voici une solution possible : Code :
Code :
A l'ouverture du classeur, un drapeau "authent" est positionné. Dès que la demande d'authentification est exécutée, le drapeau n'est plus positionné. La demande d'authentification sera exécutée une seule fois à chaque ouverture du classeur. |
||||
|
|
00
|
|
|
#3 |
|
Membre à l'essai
![]() Inscription : avril 2004 Messages : 38 ![]() |
Ca n'est pas trop ça. Pour faire une comparaison, dans le cas d'excel, il faudrait que l'authentification soit valide tant que Excel reste ouvert. Donc l'utilisateur s'authentifie à l'ouverture d'un premier classeur. Ceci fait, l'utilisateur peut ensuite fermer/ouvrir ce classeur ou d'autres classeur sans qu'il lui soit demandé à nouveau de s'authenfier.
Merci quand même pour cette réponse. |
|
|
00
|
|
|
#4 |
|
Membre régulier
![]() |
Avec une pièce jointe comme exemple, et aussi quelques lignes de code, je comprendrais mieux ce que tu veux faire. A bientôt |
|
|
00
|
|
|
#5 |
|
Membre à l'essai
![]() Inscription : avril 2004 Messages : 38 ![]() |
Je ne crois pas que le code ou une piece jointe change grand chose. Je vais essayer de mieux m'exprimer en donnant un exemple d'utilisation complet.
A la base, j'ai un OCX, qui sera utilisé par une macro VBA. Cet OCX demande une authentification. Si j'applique ton code, ça donnera : - Ouverture d'excel - Ouverture d'un classeur - Appel de la macro (demande d'authentification) - Fermeture du classeur - Fermeture de la macro - Ouverture d'un autre classeur (ou réouverture) - Appel de la macro (demande à nouveau une authentification) (<-- normal puisque les variables même globales sont re-initialisé à chaque appel) - fermeture du classeur - fermeture d'Excel Ce que je voudrais : - Ouverture d'excel - Ouverture d'un classeur - Appel de la macro (demande d'authentification) - Fermeture du classeur - Fermeture de la macro - Ouverture d'un autre classeur (ou réouverture) - Appel de la macro (NE DOIT PLUS DEMANDER L'AUTHENTIFICATION) - fermeture du classeur - fermeture d'Excel L'idée, donc, est que l'authentification soit effectuée une bonne fois pour toute, au premier appel de la macro VBA. Si l'utilisateur quitte la macro, puis la réouvre, je ne souhaite que l'authentification lui soit à nouveau demandé. Cette authentification doit persister tant qu'Excel reste ouvert. Pour un autre exemple, supposons que l'on ai une macro pour transformer le classeur courant en PDF. On suppose également que l'usage de cette macro requiere une authentification login/mp. Il serait logique que l'on demande qu'une fois à l'utilisateur de s'authentifier lorsqu'il va générer un PDF, et non pas, à chaque fois qu'il souhaite en générer un. C'est le resultat auquel je veux arriver. |
|
|
00
|
|
|
#6 | ||||
![]() ![]() |
peu-être un classeur excel.. sans aucune feuille visible contenant l'appel à l'Ocx.. une fonction publique de ce classeur permettant de vérifier l'authentification
Code :
Code :
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
||||
|
00
|
|
|
#7 | ||||
|
Membre régulier
![]() |
J'espère que cette méthode conviendra : Tout d'abord, il faut créer un classeur Authentification.xls, et ajouter ces codes : Code :
Code :
Méthode utilisée On place dans le classeur Authentification.xls un drapeau vrai ou faux dans la cellule A1, après une demande d'authentification. Ce classeur doit rester ouvert en permanence. A la fermeture du classeur, le drapeau est effacé. Les autres classeurs vérifient la présence du drapeau, et occultent la demande d'authentification, si le drapeau vrai est présent. |
||||
|
|
00
|
|
|
#8 |
|
Membre à l'essai
![]() Inscription : avril 2004 Messages : 38 ![]() |
Merci à tous les deux mais ces deux solutions, bien que valables pour Excel, me paraisse difficile à transposer pour les autres produits MS Office (voir mon message initial).
Je vais essayer de trouver une solution externe. Une derniere question. Peut ecrire du code qui s'execute à l'ouverture d'Excel (ou de Word, Acces ou Outlook) et à la fermeture. En d'autres terme, existe-t-il des évenements style OnWordOpen et OnWordClose ? |
|
|
00
|
|
|
#9 |
![]() ![]() |
pour excel,Word voir
Utilisation d'événements avec l'objet Application ..
__________________
page à bbil : dernières entrées : Débuter en VB6 Mes contributions en téléchargement Les pages VB : FAQs, Tutoriels VB, Outils , Sources, WIKI Impératif "A LIRE AVANT DE POSTER"
|
|
00
|
|
|
#10 |
|
Membre à l'essai
![]() Inscription : avril 2004 Messages : 38 ![]() |
Aprés divers essais, j'ai finalement trouvé mon bonheur sous la forme d'un developpement d'add-in.
Merci encore pour vos aides. PS: Dois-je mettre résolu dans le tag ? |
|
|
00
|
|
|
#11 |
|
Membre régulier
![]() |
Tu peux mettre [Résolu] à ton post, et donner si possible un exposé (même sommaire) de ta solution qui pourrait servir à d'autres. Cela te permettrait d'apporter ta pierre à l'édifice "Developpez.com". Ce n'est pas l'une des 7 merveilles du monde, mais c'est tout de même une belle oeuvre! |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com