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 :

Positionner curseur sur une cellule sélectée Windows Excel VBA


Sujet :

Macros et VBA Excel

  1. #901
    Invité
    Invité(e)
    Par défaut
    J'obtiens 8,8,3,1 avec ton test Patrick.
      0  0

  2. #902
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 816
    Points : 2 954
    Points
    2 954
    Billets dans le blog
    10
    Par défaut
    Avec aero : 8, 8, 3, 1
    Sans aero : 4, 4, 3, 1
    Cordialement,
    Franck
      0  1

  3. #903
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    a ben c'est rassurant
    prenez la 1 ou la deux et soustrayez lui la 3 et 4 vous avez votre différence

    apres je ne sais mais il me semble que c'est retourné en pixel
    donc si je fait getsystemmetrics(32 ou 33)/ppx j'obtiens pil poil mon 4.8 qu'il me faut chez moi a 0.000000001 près!!



    je suis curieux de connaitre le résultat sur W10
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter
      0  1

  4. #904
    Membre éclairé Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Points : 790
    Points
    790
    Par défaut
    4, 4, 3, 1
    Merci d'exprimer votre message le plus clairement possible pour qu'on puisse vous aider

    n'oubliez pas de cliquer sur et si cela vous a aidé pensez à voter
      0  0

  5. #905
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 816
    Points : 2 954
    Points
    2 954
    Billets dans le blog
    10
    Par défaut
    Attention également à Application.ScreenUpdating...

    Je vous remet le code entier du module dûment corrigé :
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    Option Explicit
     
    Private Enum DWMWINDOWATTRIBUTE
        DWMWA_NCRENDERING_ENABLED = 1
        DWMWA_NCRENDERING_POLICY
        DWMWA_TRANSITIONS_FORCEDISABLED
        DWMWA_ALLOW_NCPAINT
        DWMWA_CAPTION_BUTTON_BOUNDS
        DWMWA_NONCLIENT_RTL_LAYOUT
        DWMWA_FORCE_ICONIC_REPRESENTATION
        DWMWA_FLIP3D_POLICY
        DWMWA_EXTENDED_FRAME_BOUNDS
        DWMWA_LAST
    End Enum
     
    Public Type RECT
           Left As Long
           Top As Long
           Right As Long
           Bottom As Long
    End Type
     
    Private Declare Function DwmGetWindowAttribute Lib "dwmapi.dll" (ByVal hwnd As Long, ByVal dwAttribute As Long, ByRef pvAttribute As Any, ByVal cbAttribute As Long) As Long
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
     
    Dim Col As Long, Lig As Long
     
    Public Function fPosCel(RngTarget As Range) As RECT
    Dim LngPane As Long, LngNbPanes As Long, DblPpx As Double, BoolScreenUp As Boolean
     
        If Application.ScreenUpdating = False Then Application.ScreenUpdating = True: BoolScreenUp = True
        DblPpx = fPpx(72)
        LngNbPanes = ActiveWindow.Panes.Count
        For LngPane = 1 To LngNbPanes
            With ActiveWindow.Panes(LngPane)
                If Not Intersect(RngTarget, .VisibleRange) Is Nothing Then
                    fPosCel.Left = .PointsToScreenPixelsX(RngTarget.Left) / DblPpx
                    fPosCel.Top = .PointsToScreenPixelsY(RngTarget.Top) / DblPpx
                    fPosCel.Right = RngTarget.Width
                    fPosCel.Bottom = RngTarget.Height
                    Exit For
                End If
            End With
        Next
        If BoolScreenUp Then Application.ScreenUpdating = False
    End Function
     
    Public Function fMarges(Usf_Caption As String, Usf_Left As Double, Usf_Top As Double) As RECT
    Dim LngResult As Long, LngHwnd As Long, DblPpx As Double, BoolFreeze As Boolean
     
        DblPpx = fPpx(72)
        If ActiveWindow.FreezePanes = True Then BoolFreeze = True: Call sLibere(False)
        LngHwnd = FindWindow(vbNullString, Usf_Caption)
        LngResult = DwmGetWindowAttribute(LngHwnd, DWMWA_EXTENDED_FRAME_BOUNDS, fMarges, LenB(fMarges))
        If fMarges.Left <> 0 Then
            fMarges.Left = Usf_Left - (fMarges.Left / DblPpx)
            fMarges.Top = Usf_Top - (fMarges.Top / DblPpx)
        End If
        If BoolFreeze Then Call sRefige(True)
    End Function
     
    Private Function fPpx(Nb As Long) As Double
        With CreateObject("WScript.Shell")
            fPpx = .RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI") / Nb
        End With
    End Function
     
    Private Sub sLibere(Comment As Boolean)
        With ActiveWindow
            Col = .SplitColumn
            Lig = .SplitRow
            .FreezePanes = Comment
        End With
    End Sub
     
    Private Sub sRefige(Comment As Boolean)
        With ActiveWindow
            .SplitColumn = Col
            .SplitRow = Lig
            .FreezePanes = Comment
        End With
    End Sub
    Cordialement,
    Franck
      0  1

  6. #906
    Membre éclairé Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Points : 790
    Points
    790
    Par défaut
    @ pijaku
    bravo, mais j'ai cette erreur avec ton nouveau ????
    une idéeNom : Capture.PNG
Affichages : 262
Taille : 26,6 Ko
    Merci d'exprimer votre message le plus clairement possible pour qu'on puisse vous aider

    n'oubliez pas de cliquer sur et si cela vous a aidé pensez à voter
      0  0

  7. #907
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 816
    Points : 2 954
    Points
    2 954
    Billets dans le blog
    10
    Par défaut
    J'ai modifié le nombre d'arguments de la fonction.
    Maintenant le ppx est calculé dans le module par une autre fonction.

    Voici la procédure d'appel :
    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
    Private Sub CommandButton3_Click()
    'pijaku
    Dim R As RECT
     
        Application.ScreenUpdating = False
        R = fPosCel(ActiveCell)
        With UserForm2
            .StartUpPosition = 0
            .Show 0
            .Top = R.Top
            .Left = R.Left
            'minimum : width = 84, height = 20.25
            '.Width = R.Right
            '.Height = R.Bottom
        End With
        R = fMarges(UserForm2.Caption, UserForm2.Left, UserForm2.Top)
        With UserForm2
            .Top = UserForm2.Top + R.Top
            .Left = UserForm2.Left + R.Left
        End With
        Application.ScreenUpdating = True
    End Sub
    Cordialement,
    Franck
      0  1

  8. #908
    Membre éclairé Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Points : 790
    Points
    790
    Par défaut
    merci, ton premier code était parfait aucun default
    mais avec celui décalage à 100%
    Nom : Capture.PNG
Affichages : 204
Taille : 2,5 Ko
    Merci d'exprimer votre message le plus clairement possible pour qu'on puisse vous aider

    n'oubliez pas de cliquer sur et si cela vous a aidé pensez à voter
      0  0

  9. #909
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 816
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 816
    Points : 2 954
    Points
    2 954
    Billets dans le blog
    10
    Par défaut
    J'y regarderai demain, mais logiquement je n'ai rien changé...
    Cordialement,
    Franck
      0  1

  10. #910
    Membre éclairé Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Points : 790
    Points
    790
    Par défaut
    ok merci
    Merci d'exprimer votre message le plus clairement possible pour qu'on puisse vous aider

    n'oubliez pas de cliquer sur et si cela vous a aidé pensez à voter
      0  0

  11. #911
    Membre éclairé Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Points : 790
    Points
    790
    Par défaut
    en pleine ecran le zoom 100 est ok mais pas avec les autres
    en faite c'est l'inverse
    Merci d'exprimer votre message le plus clairement possible pour qu'on puisse vous aider

    n'oubliez pas de cliquer sur et si cela vous a aidé pensez à voter
      0  0

  12. #912
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    beau boulot pijaku

    mais il faudrait pas perdre de vue qu'en utilisant DWM on exclut XP de l'équation
    a méditer
    aussi tester cet api avec W 10 64 et office 64
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter
      0  1

  13. #913
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    nicolas
    4, 4, 3, 1
    avec le quel?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter
      0  1

  14. #914
    Membre éclairé Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Points : 790
    Points
    790
    Par défaut
    sur le fixe, je regaarderai tout a l'heure sur le portable,
    parce que là le code de ce matin a été modifié et ça colle plus tu tout entre mode fenetre et mode pleine écran
    Merci d'exprimer votre message le plus clairement possible pour qu'on puisse vous aider

    n'oubliez pas de cliquer sur et si cela vous a aidé pensez à voter
      0  0

  15. #915
    Membre éclairé Avatar de Nicolas JACQUIN
    Homme Profil pro
    .
    Inscrit en
    Avril 2014
    Messages
    556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : .
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2014
    Messages : 556
    Points : 790
    Points
    790
    Par défaut
    8, 8, 3, 1 sur le portable patrick W10 E2013 64bits

    Et pour le code primaire fait par Franck ça fonctionne très bien aussi
    Celui ci
    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
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    Option Explicit
     
    Private Enum DWMWINDOWATTRIBUTE
        DWMWA_NCRENDERING_ENABLED = 1
        DWMWA_NCRENDERING_POLICY
        DWMWA_TRANSITIONS_FORCEDISABLED
        DWMWA_ALLOW_NCPAINT
        DWMWA_CAPTION_BUTTON_BOUNDS
        DWMWA_NONCLIENT_RTL_LAYOUT
        DWMWA_FORCE_ICONIC_REPRESENTATION
        DWMWA_FLIP3D_POLICY
        DWMWA_EXTENDED_FRAME_BOUNDS
        DWMWA_LAST
    End Enum
     
    Public Type RECT
           Left As Long
           Top As Long
           Right As Long
           Bottom As Long
    End Type
     
    Private Declare PtrSafe Function DwmGetWindowAttribute Lib "dwmapi.dll" (ByVal hwnd As Long, ByVal dwAttribute As Long, ByRef pvAttribute As Any, ByVal cbAttribute As Long) As Long
    Private Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
     
    Public Function Marges(Capt$, L#, T#, ppx#) As RECT
        Dim toto As RECT, titi As Long, HwndUsf As Long ' ----->> le rectangle étendu que l'on veut extraire (aero, donc)
        HwndUsf = FindWindow(vbNullString, Capt)
        titi = DwmGetWindowAttribute(HwndUsf, DWMWA_EXTENDED_FRAME_BOUNDS, toto, LenB(toto))
        Marges.Left = L - (toto.Left / ppx)
        Marges.Top = T - (toto.Top / ppx)
    End Function
    Private Sub CommandButton1_Click()
    Dim L#, T#, R As RECT, ppx#
     
        With CreateObject("WScript.Shell"): ppx = .RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI") / 72: End With
        With UserForm2
            .StartUpPosition = 0
            .Show 0
            .Top = (ActiveWindow.ActivePane.PointsToScreenPixelsY(ActiveCell.Top) / ppx)
            .Left = (ActiveWindow.ActivePane.PointsToScreenPixelsX(ActiveCell.Left) / ppx) ' - 5
        End With
        R = Marges(UserForm2.Caption, UserForm2.Left, UserForm2.Top, ppx)
        L = R.Left
        T = R.Top
        With UserForm2
            .Top = UserForm2.Top + T
            .Left = UserForm2.Left + L
        End With
    End Sub
    Le dernier par contre déconne selon pleine écran ou mode fenêtre, sur n'importe quel pc
    Merci d'exprimer votre message le plus clairement possible pour qu'on puisse vous aider

    n'oubliez pas de cliquer sur et si cela vous a aidé pensez à voter
      0  0

  16. #916
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    perso j'avais plantage ou disparition de l'usf je ne sais ou en theme window classic

    j'ai repris sa premiere version et a jouter la condition 0 son dernier code plantait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Public Function Marges(Lcaption$, L#, T#, ppx#) As RECT
        Dim rectangle As RECT, handleusf As Long    ' ----->> le rectangle étendu que l'on veut extraire (aero, donc)
        handleusf = FindWindow(vbNullString, Lcaption)
        DwmGetWindowAttribute handleusf, DWMWA_EXTENDED_FRAME_BOUNDS, rectangle, LenB(rectangle)
        Marges.Left = IIf(rectangle.Left / ppx <> 0, L - (rectangle.Left / ppx), 0)
        Marges.Top = IIf(rectangle.Top / ppx <> 0, T - (rectangle.Top / ppx), 0)
    End Function
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter
      0  1

  17. #917
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    mais il faudrait pas perdre de vue qu'en utilisant DWM on exclut XP de l'équation
    Ah !
    Et à quoi sert la compilation conditionnelle ? à jouer à la marelle ?
    Relire mon message n° 881.
    J'attends que tout soit définitivement arrêté pour montrer comment. Ce ne sera pas compliqué du tout
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      0  1

  18. #918
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    donc en gros pour W7 et W10
    si theme aero (W7)9,9,3,1
    ou theme "Roamed"(W10 équivalent thème aero) 8,8,3,1

    si thème autre(w7) et autre(w10) 4,4,3,1

    on est d'accord?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter
      0  1

  19. #919
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut
    Citation Envoyé par unparia Voir le message
    Ah !
    Et à quoi sert la compilation conditionnelle ? à jouer à la marelle ?
    Relire mon message n° 881.
    J'attends que tout soit définitivement arrêté pour montrer comment. Ce ne sera pas compliqué du tout
    je sais pas j'ai pas regardé mais perso je mettrais une condition renvoyant le long de l'opération avec l'api si 0 rien sinon faire
    tu parle de userform plat selon tes captures j'en conclu que tu n'utilise pas le thème XP mais le window classic ou le oldwindow si je me souviens bien
    donc avec le thème XP A TU UN DECALAGE?
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter
      0  1

  20. #920
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 422
    Points
    12 422
    Par défaut
    donc avec le thème XP A TU UN DECALAGE?
    Bien évidemment que non, puisqu'alors il n'y a pas de rectangle étendu recouvrant le userform
    je sais pas j'ai pas regardé
    Besoin de regarder quoi ? tu ne sais pas que la compilation conditionnelle existe ? (curieux, mais tu l'utilises dans certains de tes codes ... sans savoir ce que c'est ?)

    mais perso je mettrais une condition renvoyant le long de l'opération avec l'api si 0 rien sinon faire
    Là, ce serait pour le cas où présence mais non activation de aero.
    Ben non. Je pense être en mesure (bien que sous XP et sans aero, moi ) de le savoir directement (toujours avec la même librairie -mais une autre de ses fonctions - que celle que j'ai utilisée. Ce sera ainsi bien plus "propre" et surtout : dans l'esprit de Windows ).
    Je n'accepte pas de demande d' "amitié" individuelle. Tout développeur est pour moi un ami.
    Je n'ouvre AUCUN classeur tiers (avec ou sans macro ******). Ne m'en proposez donc pas .

    ****** : Non, non ... un classeur .xlsx ne "peut" par exemple et entre autres pas contenir un activex (de surcroît invisible) , "bien sûr" ...

    Il est illusoire de penser que l'on saurait exprimer valablement et précisément en un langage (rigide) de développement ce que l'on peine à exprimer dans le langage naturel, bien plus souple.
      0  1

Discussions similaires

  1. se positionner sur une cellule
    Par titemireille dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/01/2008, 19h07
  2. cliquer sur une cellule qui m'ouvre un autre fichier excel
    Par booskap dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 17/08/2007, 11h08
  3. [VBA-Excel] DblClick sur une cellule
    Par marsupilami34 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/01/2007, 10h51
  4. [VBA-Excel]Supprimer une colonne entiere basee sur une cellule
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2006, 22h08
  5. [Vba-Excel] Récupérer événement sur une cellule
    Par steps5ive dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/04/2006, 20h27

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