Forum des développeurs  

Le forum de référence en programmation et développement. Articles, cours et tutoriels du débutant au chef de projet et DBA confirmé.
Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel > VBA Excel

Réponse
 
Outils de la discussion
Vieux 27/08/2008, 11h19   #1 (permalink)
Nouveau membre du Club
 
Date d'inscription: mai 2008
Messages: 68
Par défaut Imposer la taille de la fenêtre

Bonjour à tous !

Je cherche un moyen pour imposer la taille de la fenêtre au lancement d'une petite application excel...
Est ce que vous auriez une petite idée..?

Merci d'avance !
arkorrigan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 11h55   #2 (permalink)
Nouveau membre du Club
 
Date d'inscription: avril 2008
Messages: 60
Par défaut

Bonjour,

De quelle fenêtre parles-tu? celle du fichier excel ou celle d'un userform?
jffaber est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 12h04   #3 (permalink)
Nouveau membre du Club
 
Date d'inscription: mai 2008
Messages: 68
Par défaut

celle d'excel...
arkorrigan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 12h26   #4 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
Par défaut

Bonjour,

Un petit bout de code à placer dans l'événement Open de Thisworkbook
Code :
Private Sub Workbook_Open()
    With Application
        .WindowState = xlNormal
        .Width = 500
        .Height = 500
    End With
End Sub
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 14h20   #5 (permalink)
Nouveau membre du Club
 
Date d'inscription: mai 2008
Messages: 68
Par défaut

Ta solution marche super bien !!!! Merci beaucoup fring !

Par contre est ce que tu connais un code qui pourrait bloquer la taille de cette fenêtre ?
arkorrigan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 15h13   #6 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
Par défaut

Non je ne connais pas le code, cela se réalise sans doute via le "Handle" de la fenêtre pour inhiber la commande de redimensionnement de la fenêtre mais je ne connais pas la procédure.
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 15h17   #7 (permalink)
Nouveau membre du Club
 
Date d'inscription: mai 2008
Messages: 68
Par défaut

ok merci quand meme, je vais essayer de trouver ca !
arkorrigan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 27/08/2008, 17h23   #8 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
Par défaut

En adaptant le code dans la FAQ permettant de masquer la barre de titre d'une UserForm, cela donne ceci :
  • dans un module
    Code :
    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
  • dans l'événement Open de Thisworkbook
    Code :
    Private Sub Workbook_Open()
    With Application
        .WindowState = xlNormal
        .Width = 500
        .Height = 500
    End With
    AfficheTitleBarre Application.Caption, False
    End Sub
Avec le code ci-dessus on dimensionne la fenêtre de l'application Excel et on désactive la barre de titre , vois si cela peut te convenir.
.
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/08/2008, 09h23   #9 (permalink)
Nouveau membre du Club
 
Date d'inscription: mai 2008
Messages: 68
Par défaut

Merci Fring ta soluce marche presque, seulement cela bug sur la ligne
Code :
AfficheTitleBarre Application.Caption, False
Là, Vba me dit qu'il y a une erreur de compilation ...

Tu vois pourquoi ?
arkorrigan est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 28/08/2008, 12h15   #10 (permalink)
Rédacteur/Modérateur
 
Avatar de fring
 
Date d'inscription: février 2008
Localisation: Bxl
Âge: 45
Messages: 2 667
Par défaut

Non désolé je ne vois pas, j'ai testé le code tel quel et je n'ai pas de problème de fonctionnement
__________________
LES FAQ OFFICE - LES COURS OFFICE - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

Prenez quelques secondes pour lire ceci : Aide sur l'utilisation des boutons du forum

Hormis pour me demander mon numéro de compte afin d'y effectuer un versement, évitez de m'envoyer vos questions par MP, merci d'avance
En posant une question on risque d'avoir l'air idiot cinq minutes. En n'en posant pas, on risque de le rester toute sa vie (proverbe chinois)
fring est déconnecté   Envoyer un message privé Réponse avec citation
Réponse

Précédent   Forum des développeurs > Hardware, Systèmes et Logiciels > Microsoft Office > Excel > VBA Excel

 
Offres d' emploi informatique sur Lesjeudis.com


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non
Navigation rapide