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. #821
    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
    Par ailleurs : la librarie utilisée par aero semble être la librairie dwmapi.dll. Il n'est pas interdit de penser qu'il serait utile de s'intéresser à la DwmExtendFrameIntoClientArea qu'elle contient entre autres fonctions. Je ne peux le faire (sans aero).
    jacques enumwindow me sort que la Windows par la caption userform (findwindow) + toute les autres mais je ne chope pas le handle intérieur

    pour la dll je sais mais je n'ai aucune idée de comment et si on peut travailler avec dans vba

    je vais chercher en C# ca m'aide souvent a trouver la syntaxe de la déclaration en vba
    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

  2. #822
    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
    Pièce jointe 294243

    oui la c'est la debandade avec W10 tout est faussé sur W10
    prend le nombre en pixel est fait l'opération avec une calculette
    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

  3. #823
    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
    Bonjour,
    Jacques, tu sais que je n'y connais pas grand chose, mais si on obtient 2 hwnd n'y a t'il pas moyen de les "regrouper" dans un sens ou dans l'autre avec api SetParent?
    Cordialement,
    Franck
      0  1

  4. #824
    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
    bonjour pijaku
    c'est quoi l'utilité de les regrouper le maitre serait le parent en l'occurrence ici le cadre(caption) et c'est sur lui que l'on se base

    les regrouper ne ne veut pas dire que l'on obtienne un 3eme handle correspondant au tout du moins a ma connaissance
    d'ailleur ils sont déjà parent sinon on déplacerait que le cadre avec la souris
    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

  5. #825
    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 430
    Points
    12 430
    Par défaut
    d'ailleur ils sont déjà parent sinon on déplacerait que le cadre avec la souris
    "parent" n'est pas le terme exact, Patrick
    Lorsque aero est activé, il traite automatiquement la fenêtre window en cours et lui "colle au cul" (pardonne cette expression imagée). L'image créée par aero n'est pas un "parent" ni une "fille" de la fenêtre traitée, mais une espèce d' "associé" actif dans les deux sens (que l'on déplace l' "image" ou la fenêtre du Userform, l'autre suit). L'interactivité entre les deux est omniprésente.
    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

  6. #826
    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 430
    Points
    12 430
    Par défaut
    Bonjour Franck
    Je devine le sens de ta pensée, mais ....
    Si tu donnais à une fenêtre la parenté d'une autre fenêtre tu obtiendrais au sein d'une fenêtre une fenêtre fille elle-même soumise à son tour à l'intervention de aero !
    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

  7. #827
    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
    Si tu donnais à une fenêtre la parenté d'une autre fenêtre tu obtiendrais au sein d'une fenêtre une fenêtre fille elle-même soumise à son tour à l'intervention de aero !
    non jacques !
    j'ai plusieurs fois fait le test avec la fenêtre du bandeau de téléchargement IE qui n'a pas de caption et il n'en a toujours pas après être devenu l'enfant de l'application excel
    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

  8. #828
    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 430
    Points
    12 430
    Par défaut
    j'ai plusieurs fois fait le test avec la fenêtre du bandeau de téléchargement IE qui n'a pas de caption et il n'en a toujours pas après être devenu l'enfant de l'application excel
    Et pourquoi en aurait-il un ?
    Je n'ai jamais dit qu'il en aurait un ! une fenêtre enfant vient telle quelle dans la fenêtre parent. Elle ne change pas !
    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

  9. #829
    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 l'affichage la fentre soumise a la parenté par l'api setparent ne change pas du tout la je peut l'affirmer a 100% par contre


    j'utilise le sendmessage et le déplacement du le curseur pour les boutons et les dimensions restent identiques
    je retrouverais mon post a ce sujet dans la contrib de marc pour le telechargement automatique
    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

  10. #830
    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 430
    Points
    12 430
    Par défaut
    Et qu'est ce que cela a à voir ?
    Et où ai-je dit le contraire ?
    La fenêtre traitée devient fille de la fenêtre parent et reste telle qu'elle était. Point barre. Si elle était sans caption, elle devient fille sans caption.

    Test tout bête : les deux userforms ne doivent pas être en modal (bien évidemment)
    Je ne laisse un caption au départ QUE pour pouvoir utiliser FindWindows. Une fois son handle connu, j'enlève son caption.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     UserForm2.Show
      UserForm1.Show
      hwnd1 = FindWindow(vbNullString, UserForm1.Caption)
      hwnd2 = FindWindow(vbNullString, UserForm2.Caption)
      UserForm2.Caption = ""
      SetParent hwnd2, hwnd1
      UserForm2.Top = 0
      UserForm2.Left = 0
      MsgBox "voilà. userform2 est dans userform1 sans caption" & vbCrLf & "on va le reepasser sur le bureau, maintenant"
      SetParent hwnd2, 0
    Rappel : passer en enfant d'un parent une fenêtre n'a en aucun cas pour résultat de donner à la fenêtre enfant le handle de la fenêtre parent.
    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

  11. #831
    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
    "parent" n'est pas le terme exact, Patrick
    Lorsque aero est activé, il traite automatiquement la fenêtre window en cours et lui "colle au cul" (pardonne cette expression imagée). L'image créée par aero n'est pas un "parent" ni une "fille" de la fenêtre traitée, mais une espèce d' "associé" actif dans les deux sens (que l'on déplace l' "image" ou la fenêtre du Userform, l'autre suit). L'interactivité entre les deux est omniprésente.
    je vais vérifier ce que tu dis tout de suite
    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

  12. #832
    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
    bon ben t'a tout faux
    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
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function WindowFromPoint Lib "user32" (ByVal xpoint As Long, ByVal ypoint As Long) As Long
    Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
    Public Declare Function GetParent Lib "user32" (ByVal hWnd As Long) As Long
    Sub test()
    With CreateObject("WScript.Shell"): ppx = .RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI") / 72: End With
       With UserForm1
       .Show 0
    handle_Caption = FindWindow(vbNullString, UserForm1.Caption)
    handle_interieur = WindowFromPoint((.Left + 30) * ppx, (.Top + 30) * ppx)
    Debug.Print handle_Caption
    Debug.Print handle_interieur
    Debug.Print GetParent(handle_interieur)
    End With
    End Sub
    Nom : Capture.JPG
Affichages : 325
Taille : 176,1 Ko

    comme tu n'a pas W7 tu ne fait que suputer des idées fausse par ce que tu te base sur xp il n'ont pas le même noyau bien que tout deux sont dérivé du noyeau NT
    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. #833
    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 430
    Points
    12 430
    Par défaut
    Ca, alors !
    Qu'est-ce que c'est que ce code ? Il ne correspond à rien de sensé !
    Et ne correspond en rien, ni de près ni même de très loin, ni à mes tests, ni même à un test raisonnable !
    Ton "t'as tout faux" est ici totalement incompréhensible.

    Peux-tu me dire clairement, techniquement et apec précision en quoi ton code contredit :
    citation :
    "parent" n'est pas le terme exact, Patrick
    Lorsque aero est activé, il traite automatiquement la fenêtre window en cours et lui "colle au cul" (pardonne cette expression imagée). L'image créée par aero n'est pas un "parent" ni une "fille" de la fenêtre traitée, mais une espèce d' "associé" actif dans les deux sens (que l'on déplace l' "image" ou la fenêtre du Userform, l'autre suit). L'interactivité entre les deux est omniprésente.
    Et où ton test (ton code) traite l' "image" aero ? Dis-moi !
    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

  14. #834
    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
    qu'est ce que tu raconte
    les deux handle sont bien identifiés et le getparent donne pareil que le finfwindow
    tu veux un windowfrompoint sur la caption pour voir?
    y a pas de soucis mais je t'ai déjà montré plus tôt dans la discussion que ca ramenait le même handle que findwindow
    insensé c'est la meilleur celle la
    tu peux dire ce que tu veux y a pas d'erreur
    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
    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function WindowFromPoint Lib "user32" (ByVal xpoint As Long, ByVal ypoint As Long) As Long
    Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
    Public Declare Function GetParent Lib "user32" (ByVal hWnd As Long) As Long
    Sub test()
    With CreateObject("WScript.Shell"): ppx = .RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI") / 72: End With
       With UserForm1
       .Show 0
    handle_Caption = FindWindow(vbNullString, UserForm1.Caption)
    handle_Caption_by_W_f_point = WindowFromPoint((.Left + 5) * ppx, (.Top + 5) * ppx)
    handle_interieur = WindowFromPoint((.Left + 30) * ppx, (.Top + 30) * ppx)
    Debug.Print "findwindow " & handle_Caption
    Debug.Print "windowfrompoint caption  " & handle_Caption_by_W_f_point
    Debug.Print "windowfrompoint interieur " & handle_interieur
    Debug.Print "parent du handle_interieur " & GetParent(handle_interieur)
    End With
    End Sub
    resultat
    findwindow 460368
    windowfrompoint caption 460368
    windowfrompoint interieur 787932
    parent du handle_interieur 460368
    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

  15. #835
    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
    coucou
    je sais pas ce que vous cherchez mais voila résultats du dernier test à Patrick
    findwindow 3673540
    windowfrompoint caption 3673540
    windowfrompoint interieur 331764
    parent du handle_interieur 3673540
    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. #836
    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 430
    Points
    12 430
    Par défaut
    Peux-tu me dire clairement, techniquement et apec précision en quoi ton code contredit :
    citation :
    "parent" n'est pas le terme exact, Patrick
    Lorsque aero est activé, il traite automatiquement la fenêtre window en cours et lui "colle au cul" (pardonne cette expression imagée). L'image créée par aero n'est pas un "parent" ni une "fille" de la fenêtre traitée, mais une espèce d' "associé" actif dans les deux sens (que l'on déplace l' "image" ou la fenêtre du Userform, l'autre suit). L'interactivité entre les deux est omniprésente.
    Et où ton test (ton code) traite l' "image" aero ? Dis-moi !
    Je n'y vois que des relevés concernant non cette "image" aero, mais le userform lui-même !
    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

  17. #837
    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
    en quoi il le contredit??
    ben ma fois tu prétends que c'est une association moi je te dis qu'il sont fils et père sinon getparent ne le donnerait pas
    tu déraille ou quoi

    tiens pour m'amuser je le sort des coucougnettes de son papa
    allez

    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 Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function WindowFromPoint Lib "user32" (ByVal xpoint As Long, ByVal ypoint As Long) As Long
    Public Declare Function SetParent Lib "user32" (ByVal hWndChild As Long, ByVal hWndNewParent As Long) As Long
    Public Declare Function GetParent Lib "user32" (ByVal hwnd As Long) As Long
    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
    Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Sub testballade_userform()
    With CreateObject("WScript.Shell"): ppx = .RegRead("HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics\AppliedDPI") / 72: End With
       With UserForm1
       .Show 0
    handle_Caption = FindWindow(vbNullString, UserForm1.Caption)
    handle_Caption_by_W_f_point = WindowFromPoint((.Left + 5) * ppx, (.Top + 5) * ppx)
    handle_interieur = WindowFromPoint((.Left + 30) * ppx, (.Top + 30) * ppx)
    Debug.Print "findwindow " & handle_Caption
    Debug.Print "windowfrompoint caption  " & handle_Caption_by_W_f_point
    Debug.Print "windowfrompoint interieur " & handle_interieur
    Debug.Print "parent du handle_interieur " & GetParent(handle_interieur)
    handle_application = Application.hwnd
    SetParent handle_interieur, handle_application
    SetWindowPos handle_interieur, 0, (UserForm1.Left - 300) * ppx, (UserForm1.Top * ppx), 300, 300, 0
    End With
    End Sub
    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

  18. #838
    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 430
    Points
    12 430
    Par défaut
    Bonjour Nicolas
    Ce test ne nous apprend rien.
    Il ne fait qu'afficher ce que nous savons depuis kala-kala : l' "intérieur" d'un userform est fille du userform.
    Et ?
    Quoi de neuf là-dedans ?
    Et qu'est-ce que cela a à voir avec l' "image" créée par aero ?
    Seule est traitée dans ce code la fenêtre de l'userform. Pas la "création" faite par aero ...

    Quel rapport avec (citation à nouveau) :
    "parent" n'est pas le terme exact, Patrick
    Lorsque aero est activé, il traite automatiquement la fenêtre window en cours et lui "colle au cul" (pardonne cette expression imagée). L'image créée par aero n'est pas un "parent" ni une "fille" de la fenêtre traitée, mais une espèce d' "associé" actif dans les deux sens (que l'on déplace l' "image" ou la fenêtre du Userform, l'autre suit). L'interactivité entre les deux est omniprésente.
    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

  19. #839
    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
    tu sais quoi?
    installe toi au moins W7 après on parlera
    et entre parenthèses "l'image d'aero" correspond exactement a ce qui est affiché contrairement a ce que tu crois
    mon test plus haut dans la discussion le prouve puisque je trouve les écart dans le do loop avec windowfrompoints et que quand je repositionne le usf avec cet écart je suis pile poil

    je te le redis installe toi W7 et fait tes test avec après tu pourra parler
    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. #840
    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 430
    Points
    12 430
    Par défaut
    Je n'ai nul besoin, Patrick, d'installer WIN 7 pour raisonner.
    Tout ce que l'on pourrait tirer comme conclusion de ton code/test est que l' "image aero" n'est pas une fenêtre Windows à part entière (ce qui aurait pour effet que le WindowsFromPoint traiterait ce que l"image aero" recouvre, à savoir le UserForm lui-même). Et si tel était le cas, toute démarche en vue d'en connaître les dimensions et la position serait vaine, comme je l'ai dit et redit .
    Je vais te laisser digérer cet aspect ...
    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