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

Excel Discussion :

Declencher un userform sur un bouton special et un prob avec le pleine ecran!


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Declencher un userform sur un bouton special et un prob avec le pleine ecran!
    Bonjour,
    j'ai deux petites questions qui me sont assez complexe!

    Je pense que la première doit être assez simple mais je n'arrive pas à comprendre! Dans mon thisworbook j'ai placé ma programmation suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    Option Explicit
    Private Sub Workbook_Open()
      boolResult = False
      Application.DisplayFullScreen = False
      Sheets("feuil1").Select
    ActiveWindow.DisplayWorkbookTabs = False
    Worksheets(1).ScrollArea = "A1:K30"
    End sub
    Mon problème est que si je mets "Application.DisplayFullScreen = True" mon fichier s'ouvre en pleine écran, si je presse la touche "echap" je ne suis plus en pleine écran mais je ne peux plus rien faire mes onglets sont bloquer! Aucun click possible!
    Vous pourriez m'aider à me dire pourquoi mes onglets reste fixe?

    Ma deuxième question est plus complexe enfin pour moi!

    Voilà, j’ai programmé mon customer, mon thisworkbook, et un module de manière à avoir un seul onglet avec un bouton "enter password" au démarrage, et quand je click dessus tous les autres onglets classiques d'excel reviennent avec un nouvel onglet qui contient un bouton pour revenir avec just l'onglet de départ!!(confére image et code en dessous)

    Cela fonctionne très bien mais j'aimerais que l'userform que j'ai créé "demande de password" soit ouvert quand je click sur le bouton "enter password",si le nom d'utilisateur et le mot de passe sont correct après la validation,j'ai mes onglets classiques et mon nouvel onglet qui apparaissent!

    Pour résumer, ma programmation fonctionne mais maintenant j'aimerais quel fonctionne seulement si les informations de l'userform sont correct! Si elles sont incorrectes, on annule et j'ai toujours que mon onglet perso !
    Quelqu'un peut-il m'assister ?car la je m'arrache les cheveux!!!!

    Merci d'avance à tous,en espérant avoir était le plus clair possible!

    Ma programmation thisworkbook est au dessus

    Code customer:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
     
    <customUI xmlns="http://schemas.microsoft.com/office/2006/01/customui" onLoad="RubanCharge">
    <ribbon startFromScratch="false">
     
    <tabs>
      <tab idMso="TabHome" getVisible="GestionTabStd"/>
      <tab idMso="TabInsert" getVisible="GestionTabStd"/>
      <tab idMso="TabPageLayoutExcel" getVisible="GestionTabStd"/>
      <tab idMso="TabFormulas" getVisible="GestionTabStd"/>
      <tab idMso="TabData" getVisible="GestionTabStd"/>
      <tab idMso="TabReview" getVisible="GestionTabStd"/>
      <tab idMso="TabView" getVisible="GestionTabStd"/>
      <tab idMso="TabDeveloper" getVisible="GestionTabStd"/>
      <tab idMso="TabReview" getVisible="GestionTabStd"/>
      <tab idMso="TabAddIns" getVisible="GestionTabStd"/>
     
           <tab id="Tab01" label="lock in" getVisible="GestionTabPerso">
             <group id="Groupe01" label="lock in">
               <button id="button01" 
                 imageMso="HappyFace" 
                 size="large" 
                 label="Enter password" 
                 onAction="ModifAffichage" />
             </group>
           </tab>
     
            <tab id="Tab02" label="lock out" getVisible="GestionTabStd">
         <group id="Groupe02" label="lock out">
                    <button id="button02" 
                       imageMso="HappyFace" 
                       size="large" 
                       label="lock out" 
                       onAction="ModifAffichage" />
             </group>
            </tab>
     
    </tabs>
     
    </ribbon>
    </customUI>
    Voici le module pour les callbacks

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Option Explicit
    Public boolResult As Boolean
    Public objRuban As IRibbonUI
     
     
    'Callback for customUI.onLoad
        'Est déclenché lors du chargement du ruban personnalisé.
    Sub RubanCharge(ribbon As IRibbonUI)
        Set objRuban = ribbon
    End Sub
     
     
    'Callback for getVisible
    Sub GestionTabStd(control As IRibbonControl, ByRef returnedVal)
        returnedVal = boolResult
    End Sub
     
     
    'Callback for Tab01 getVisible
    Sub GestionTabPerso(control As IRibbonControl, ByRef returnedVal)
        returnedVal = Not boolResult
    End Sub
     
     
    'Callback for button01 and button 02 onAction
    Sub ModifAffichage(control As IRibbonControl)
        boolResult = Not boolResult
        objRuban.Invalidate
    End Sub
    code de mon userform :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    Option Explicit
     
     
    Private Sub cmdValider_Click()
        lblMessage.Caption = ""
            If txtUtilisateur.Text = "admin" Then
                If txtMotDePasse.Text = "rclens" Then
                    Unload Me
                  Else
                    Beep
                    lblMessage.Caption = "Mot de passe incorect"
                    txtMotDePasse.SelStart = 0
                    txtMotDePasse.SelLength = Len(txtMotDePasse.Text)
                    txtMotDePasse.SetFocus
                End If
              Else
                Beep
                lblMessage.Caption = "Nom d'utilisateur incorect"
                txtUtilisateur.SelStart = 0
                txtUtilisateur.SelLength = Len(txtUtilisateur.Text)
                txtUtilisateur.SetFocus
         End If
    End Sub
     
     
    Private Sub ActiverChamps(ok As Boolean)
        txtUtilisateur.Enabled = ok
        txtMotDePasse.Enabled = ok
        txtUtilisateur.Text = IIf(ok, txtUtilisateur.Text, "")
        txtMotDePasse.Text = IIf(ok, txtMotDePasse.Text, "")
        If ok Then txtUtilisateur.SetFocus
    End Sub
    et pour finir photo au démarrage du fichier,on voit le bouton "enter password"!

    [img][/img]

  2. #2
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    pour ton premier problème peut-être avec...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Workbook_Open()
        boolResult = False
        Application.DisplayFullScreen = True
        Sheets("feuil1").Select
        Worksheets(1).ScrollArea = "A1:K30"
    End Sub
     
    Private Sub Workbook_WindowResize(ByVal Wn As Window)
        If Wn.WindowState = xlMaximized Then
            ActiveWindow.DisplayWorkbookTabs = False
        ElseIf Wn.WindowState = xlNormal Then
            ActiveWindow.DisplayWorkbookTabs = True
        End If
    End Sub
    Pour le reste je ne connaît pas.
    A+

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Pour le bouton de l'UF je verrais plutôt ça en deux phases distingues.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Private Sub cmdValider_Click()
        lblMessage.Caption = ""
        If txtUtilisateur.Text <> "admin" Then
            Beep
            lblMessage.Caption = "Nom d'utilisateur incorect"
            txtMotDePasse.SelStart = 0
            txtMotDePasse.SelLength = Len(txtMotDePasse.Text)
            txtMotDePasse.SetFocus
            Exit Sub
        End If
     
        If txtMotDePasse.Text <> "rclens" Then
            Beep
            lblMessage.Caption = "Mot de passe incorect"
            txtUtilisateur.text = ""
            txtUtilisateur.SetFocus
            Exit Sub
         End If
        Unload Me
    End Sub
    Sais pas si c'est ta question ?
    A+

  4. #4
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut reponse:
    bonjour,
    merci pour l'intérêt que vous portez à mes questions!

    Pour la première j'ai essayer ce que tu as dis mais les onglets continue de rester bloquer quand je fais echap!!

    Donc je sais toujours pas comment ouvrir mon classeur en pleine écran et quand je fais la touche echap rien ne soit bloquer?????????

    Encore merci à Michel!!!!

  5. #5
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Pour la première j'ai essayer ce que tu as dis mais les onglets continue de rester bloquer quand je fais echap!!
    Quand tu tape Escape, le UF du code passe est ouvert ?
    Quand j'ai tester, bien sûr il n'y avait pas de UF ouvert !!

  6. #6
    Futur Membre du Club
    Inscrit en
    Avril 2009
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 10
    Points : 7
    Points
    7
    Par défaut reponse:
    Bonjour,

    Non, avant le UF du password s'ouvrait seulement après que je click sur le bouton "enter password"!!

    J'ai mis une nouvelle photo de la nouvelle présentation mais le problème reste le même!

    A oui, quand je parle des onglets ce sont les onglets d'excel ou mon onglet personnaliser dans le ruban!

    J'ai essayé le code mais quand je presse echap mes onglets sont toujours tous bloquer, je dirais même plus toute la fenêtre excel!Je ne peux même plus cliquer sur la croix rouge pour fermer! par contre si j'ouvre le document, je presse echap, ensuite j'utilise mon raccourci clavier "ctrl+a" pour la remise en pleine écran,il fonctionne, et si je presse de nouveau echap,tout est actif!
    Je pense que le code que tu as donné serait plus pour les onglets des feuilles? Mais c'est onglets je ne veux jamais les voir!

    Donc le problème, c'est que le premier echap me bloque tout! Par contre ensuite "ctrl+a»: pleine écran et echap et plus de soucis!!

    Mais bien sur, je ne veux pas que l'utilisateur doive faire cette manipe a chaque fois!
    Merci d’avance !!!
    Voici le code thisworkbook :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
     Option Explicit
     
    Private Sub Workbook_Open()
        boolResult = False
        'Définit les caractères utilisables pour la saisie du mot de passe
        Tableau = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", _
            "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", _
            "W", "X", "Y", "Z", "0", "1", "2", "3", "4", "5", "6", "7", "8", "9")
    Application.DisplayFullScreen = True
      Sheets("feuil1").Select
    ActiveWindow.DisplayWorkbookTabs = False
    Worksheets(1).ScrollArea = "A1:K30"
    end sub
     
    Private Sub Workbook_WindowResize(ByVal Wn As Window)
        If Wn.WindowState = xlMaximized Then
            ActiveWindow.DisplayWorkbookTabs = False
        ElseIf Wn.WindowState = xlNormal Then
            ActiveWindow.DisplayWorkbookTabs = True
        End If
    End Sub
    photo de la nouvelle présentation:

    [IMG][/IMG]

Discussions similaires

  1. [Toutes versions] Nouveau effet mouse in out sur les boutons dans un userform sans les apis
    Par patricktoulon dans le forum Contribuez
    Réponses: 17
    Dernier message: 27/02/2018, 22h28
  2. Empêcher de cliquer sur des boutons dans un userform
    Par bsangoku dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/02/2013, 17h04
  3. Ouverture de userform par clic sur un bouton de formulaire
    Par karlgina dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 02/06/2011, 19h29
  4. Definier procedures a declencher sur des boutons
    Par metramo dans le forum VBA Outlook
    Réponses: 0
    Dernier message: 07/04/2010, 15h44
  5. Declencher un clic sur bouton
    Par HeB91 dans le forum Général JavaScript
    Réponses: 14
    Dernier message: 01/04/2010, 14h29

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