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 :

Faire disparaître la bande avec la croix dans un UserForm


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Faire disparaître la bande avec la croix dans un UserForm
    Bonjour,

    Pourriez-vous m'indiquer comment faire disparaître la bande de couleur avec la croix en haut d'un UserForm ?
    Je sais rendre la croix inactive, mais si je pouvais faire disparaître l'ensemble cela serait super.
    Merci par avance pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 29
    Par défaut
    Hello,

    Ton bonheur se trouve dans la FAQ vraiment complète :

    Comment masquer la barre de titre d'une UserForm ?

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour Luc,

    J'ai déjà essayer ce code mais cela ne fonction pas.
    Je vais recommencer et je te tiens au courant. Il me semble que j'ai des soucis dans la recherche du Handle.

  4. #4
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour NEC14 Luc859 le forum
    peut etre le plus simple si tu veus empecher de fermer par la croix met ce code dans l user

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    If CloseMode = vbFormControlMenu Then Cancel = True
    End Sub
    attention ne pas oublier de mettre un bouton pour fermer l user

    autrement un zip a tester attention a ces bidouilles on faire faire planter excel & ca marche pas forcement sur toutes version excel & les futures

    salutations

  5. #5
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Je viens d'essayer le code et il fonction parfaitement chez moi (E07) pour supprimer la barre des titres à l'afiichage

  6. #6
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour à tous,

    J'ai ce message d'erreur qui apparaît :

    - Erreur 453
    Point d'entrée SetWindowLongA d'une DLL introuvable dans User32.

    Pouvez-vous éclairer ma lanterne ?

    Merci

  7. #7
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Pas de faute dans la déclaration ?
    J'arrive a reproduire le message d'erreur en mettant un texte erronné dans alias :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Public Declare Function SetWindowLong Lib "user32" Alias _
            "XSetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, _
            ByVal dwNewLong As Long) As Long

    EDIT : ça ne peut pas être ça chez toi puisque tu as bien "SetWindowLongA"
    dans ton message d'erreur.

    Alors je sais pas, je donne ma langue au chat ...

  8. #8
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    J'ai essayé les 2 codes, celui de Laetitia "Sans bandeau bleu" et celui du FAQ et aucun des 2 ne fonctionnent.
    Je ne comprends pas.
    Manquerait t'il quelque chose dans User32 ?

  9. #9
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Pour info, les 2 fonctionnent chez moi (Excel 2007)

  10. #10
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    J'ai Excel2003, peut-être est-ce là le problème

  11. #11
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re le fil j ai 2003 ca marche

    re le fil essai de mettre ce code

    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
    Option Explicit
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
    (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function GetWindowLong Lib "user32" Alias _
    "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
    Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" _
    (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
    Private Sub UserForm_Initialize()
    Dim hWnd As Long, Style As Long
    hWnd = FindWindow(vbNullString, Me.Caption)
    Style = GetWindowLong(hWnd, -16) And Not &HC00000
    SetWindowLong hWnd, -16, Style
    DrawMenuBar hWnd
    End Sub
    Private Sub cmd_quitter_Click()
    Unload Me
    End Sub

  12. #12
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Bonjour Laetitia,

    Ce code je le mets où, dans un module ou bien directement dans le code de l'UserForm ?
    Merci

    Là je l'ai mis dans l'UserForm mais ça ne marche pas.
    J'ai donc essayé à partir d'un module, mais avec le même résultat

  13. #13
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    bonjour nec le forum dans l user

    salutations

  14. #14
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par laetitia Voir le message
    bonjour nec le forum dans l user

    salutations
    Comme je l'ai dit plus haut, c'est ce que j'ai fait mais sans résultat.
    Je ne comprends pas pourquoi cela ne fonctionne pas

  15. #15
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re, regarde ce fichier en autre il enleve le bandeau ci ca marche essai de l adapter

    salutations

  16. #16
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,

    Un fichier qui ne fait qu'enlever le bandeau, ça marche ?

  17. #17
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re, bonjour aalex jai teste ce code marche aussi chez moi

    salutations

  18. #18
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Je viens de mettre en place les 2 codes fournis, mais sans succès.
    La barre de titre est toujours visible.
    Je ne comprends pas où ça bloque. Je n'ai aucun message d'erreur.
    Si quelqu'un à une idée.

    Un module pour le code suivant :
    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
     
    Public Type RECT
            Left As Long
            Top As Long
            Right As Long
            Bottom As Long
    End Type
     
    Const GWL_STYLE = (-16)
    Const WS_CAPTION = &HC00000
    Const SWP_FRAMECHANGED = &H20
     
    Public Declare Function FindWindowA Lib "user32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Public Declare Function GetWindowRect Lib "user32" (ByVal hwnd As Long, lpRect As RECT) As Long
    Public Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
    Public Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
    Public Declare Function SetWindowPos Lib "user32" (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, ByVal x As Long, ByVal y As Long, ByVal cx As Long, ByVal cy As Long, ByVal wFlags As Long) As Long
     
    Sub AfficheTitleBarre(stCaption As String, pbVisible As Boolean)
    Dim vrWin As RECT
    Dim style As Long
    Dim lHwnd As Long
    '- Recherche du handle de la fenêtre par son Caption
        lHwnd = FindWindowA(vbNullString, stCaption)
        If lHwnd = 0 Then
            MsgBox "Handle de " & stCaption & " Introuvable", vbCritical
            Exit Sub
        End If
     
        GetWindowRect lHwnd, vrWin
        style = GetWindowLong(lHwnd, GWL_STYLE)
        If pbVisible Then
            SetWindowLong lHwnd, GWL_STYLE, style Or WS_CAPTION
        Else
            SetWindowLong lHwnd, GWL_STYLE, style And Not WS_CAPTION
        End If
        SetWindowPos lHwnd, 0, vrWin.Left, vrWin.Top, vrWin.Right - vrWin.Left, vrWin.Bottom - vrWin.Top, SWP_FRAMECHANGED
    End Sub
    et ce code çi dans l'UserForm (FrmAcc)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub UserForm_Initialize()
    'On passe en arguments :
    '    - le titre de la fenêtre
    '    - False pour masquer la barre de titre
        AfficheTitleBarre Me.Caption, False
    End Sub
    Voici comment j'ouvre mon UserForm

    Je clique sur un bouton, un mot de passe est demandé, si celui-ci est bon, alors l'UserForm s'affiche.

  19. #19
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Bonjour,


    Je viens de mettre en place les 2 codes fournis, mais sans succès.
    As-tu testé les fichiers excel tels quels pour savoir si le problème vient vraiment de cela ou si c'est ailleurs dans ton code ?

  20. #20
    Membre Expert Avatar de laetitia
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    1 281
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 1 281
    Par défaut
    re, je vois pas que reste t il ?? peut etre lancer une reparation de ton excel ou reinstalller

    ou le suicide (lol)

    SI aalex a une autre idee
    salutations

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. Problème avec des données dans un userform
    Par Hef-aîr dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/02/2014, 11h54
  2. Visualiser et interagir avec un graphique dans un UserForm
    Par SilkyRoad dans le forum Contribuez
    Réponses: 0
    Dernier message: 28/12/2011, 16h35
  3. Afficher menu avec Clic Droit dans un userform
    Par damsmut dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/04/2008, 11h12
  4. Suprimer la Croix dans un UserForm
    Par BRUNO71 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 21/03/2008, 00h19

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