IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Tester la connexion vers une application extérieure


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut Tester la connexion vers une application extérieure
    Bonjour,

    J'essaye actuellement de créer une macro sous excel qui fonctionne en relation avec business object.

    Savez-vous comment on peut tester un "LoginAs , , True" afin de redemander à un utilisateur de taper son password tant que celui-ci est faux?

    J'ai déjà essayé de le faire avec un "onerror goto" mais si l'utilisateur entre bien son mot de passe et qu'une erreur se produit plus bas dans le code. Le code redemande alors le password.

    En fait pour le moment j'ai 2 axes de réflexion qui sont soit arriver à tester le LoginAs, soit arriver à supprimer une gestion d'erreur même si aucune erreur ne s'est produite.


    Merci d'avance

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Hello,

    Pour ne plus avoir de message d'erreur


  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut
    merci pour votre réponse par contre j'ai du mal m'exprimer...

    je veux juste permettre à l'utilisateur de pouvoir retaper son password en cas de faute de frappe

    si on prend la piste de la gestion d'erreur j'ai un imagine un truc comme ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    password:
     
    on error goto password
    LoginAs , , True
    Malheureusement, cela ne fonctionne que pour 1 seule faute de frappe après quoi une erreur arrête la macro et si l'utilisateur entre correctement son mot de passe et qu'une erreur se produit le code revient au niveau de password:

    Sinon j'avais imaginé un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    password:
    on error goto password2
    LoginAs , , True
     
    goto password3
    password2:
    go to resume
    resume:
    err.clear
    goto password
    password3:
    si le "on error resume next" est bien la solution de l'une des pistes pouvez-vous m'indiquer à quelle endroit le placer dans le code?

    merci

  4. #4
    Inactif  
    Profil pro
    Inscrit en
    Février 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 517
    Par défaut
    salut

    quelle gestion d'erreur ? Il n'en est nul besoin !
    Le principe est simple et en voici un exemple (où l'on suppose que le mot de passe (bonmot ici) est "coucou" et où l'on définit le nombre maximum d'essais (nbessais ici) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim x As Boolean, mdp As String, bonmot As String, nbessais as integer, nb as integer
    bonmot = "coucou"
    nbessais = 3
    Do While Not x And nb < nbessais
      mdp = InputBox("essai N° " & nb + 1, "entrez voitre mot de passe")
      If mdp = bonmot Then x = True Else nb = nb + 1
    Loop
    If nb > nbessais - 1 Then MsgBox "tire-toi de là": Exit Sub
    MsgBox "t'es le bienvenu"
    EDIT : ton titre me parait fort mal choisi. Ne serait-il pas : "vérifier mdp avant de continuer" ?
    EDUIT 2 : si, maintenant, le mot de passe est finalement celui à passer (en commandline ou autre) à "l'autre appli", il suffira de modifier légèrement, au sein de la boucle do... loop, pour retourner (alors là oui, en gérant une erreur), le succès ou l'échec. A lier avec la booléenne, alors

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut
    salut,

    J'avais deja vu une solution comme celle que tu viens de me donner mais le probleme était que tous les utilisateurs ont un mdp different et que je n'ai aucun moyen d'avoir la base de donnee de ces derniers. j'ai resolu mon probleme en faisant ainsi :

    ---------------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Set objBo = CreateObject("BusinessObjects.Application.11")
     
    password:
    On Error GoTo password2:
    objBo.LoginAs , , True
    GoTo suite
    password2:
    Resume reini
    reini:
    Err.Clear
    GoTo password
    suite:
    On Error Resume Next
    --------------------------

    je reactive donc la gestion d'erreur au cas par cas pour la suite...
    si jamais tu y vois un probleme flagrant que cette soluce peut apporter ca serait vraiment sympa!

    mais bon pour l'instant ca fonctionne sans probleme...

    sinon j'ai un autre petit "hic" dans mon programme car parfois le pc galere un peu ( si c'est pas le bon forum dites le moi et je ferais le necessaire pour me reorienter)

    voici le bout de code:

    -----------------------
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set objrep = objBo.Documents.Open(Sheets("Liste").Cells(i, 1).Text & Sheets("Liste").Cells(i, 2).Text & ".rep")
        objrep.Variables("Année ECA (AAAA) :").Value = Index2
        objrep.Variables("Mois ECA (MM) :").Value = Index
        SendKeys "({Enter})", False
    ---------------------

    Lors de l'ouverture de "objrep",afin de rafraichir la requete correspondante, je dois entrer des variables, normalement saisies à la main, dans une fenetre type pop up

    j'ai donc trouve la commande "objrep.Variables().Value = ?" pour entrer la variable automatiquement
    Mais (parcequ'il y a toujours un mais) il faut alors cliquer sur "ok" pour que la requete commence reellement à se rafraichir.
    j'avais donc pense a un sendkeys pour "cliquer" sur ok mais parfois le pc bug un peu et sendkeys est envoye trop tot, suspendant alors la programme tant que je n'ai pas cliquer manuellement sur ok.

    enfin ma question... lol

    est ce qu'il existe un moyen autre que le send keys pour cliquer automatiquement sur "ok"? sinon une autre idee?

    encore merci pour votre reactivite

    ++

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 8
    Par défaut
    pour l'"anecdote":

    j'ai essaye ca en m'inspirant de ta reponse precedente mais j'ai du me tromper sur le test de l erreur ou l attribution true or false de x

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    nbessais = 3
    Do While Not x And nb < nbessais
      objBo.LoginAs , , True
      If Not Error Then x = True Else nb = nb + 1
    Loop
    If nb > nbessais - 1 Then MsgBox "tire-toi de là": Exit Sub
    MsgBox "t'es le bienvenu"

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Probléme de connexion d'une application android vers une BD mysql
    Par hajer_baccouch dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 13/05/2012, 00h52
  2. cliquer sur un bouton d'une application extérieure
    Par looc 6699 dans le forum API, COM et SDKs
    Réponses: 7
    Dernier message: 12/12/2005, 17h46
  3. [Réseau] connexion vers une machine derriere un routeur
    Par fantomasmusic dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/10/2005, 13h54
  4. [FLASH MX] Lien vers une application
    Par mzt.insat dans le forum Flash
    Réponses: 4
    Dernier message: 15/03/2005, 19h18
  5. Faire un raccoucis vers une application sous wine
    Par zamanika dans le forum Applications et environnements graphiques
    Réponses: 7
    Dernier message: 01/10/2004, 14h10

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo