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. #121
    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
    ça peut venir de quoi ?, tous mais réglages sont en 100%, j'ai 2 écran mais sont réglés pareil, je comprend pas
      0  0

  2. #122
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    re
    et oui 1.333333333333333
    mon calcul est donc bon c'est ca qui rends fou
      0  1

  3. #123
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    ben moi non plus je cherche
    mes calculs donnent pareil que les api mais le résultat n'est pas le même
    je n'ai pas d'explication
      0  1

  4. #124
    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
    Citation Envoyé par patricktoulon Voir le message
    re
    et oui 1.333333333333333
    mon calcul est donc bon c'est ca qui rends fou

    là je vais devenir dingo, comprends pas
      0  0

  5. #125
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    tiens teste celle la comme tel
    chez moi c'est ok
    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
    Sub UserFormAlign1()    '''''''''''''''OK'''''''''''''''''
        Dim x As Double, y As Double, w As Double, h As Double
        'x = GetDeviceCaps(GetDC(0), 88) / 72
        'y = GetDeviceCaps(GetDC(0), 90) / 72
        x = (ActiveWindow.ActivePane.PointsToScreenPixelsX(3) - ActiveWindow.PointsToScreenPixelsX(0)) / 3
        y = x
        xplus = UserForm1.Width - UserForm1.InsideWidth
        yplus = (UserForm1.Height - UserForm1.InsideHeight) / 2
        With UserForm1
            .StartUpPosition = 0
            .Left = (ActiveWindow.ActivePane.PointsToScreenPixelsX(ActiveCell.Left) / x) + xplus
            .Top = (ActiveWindow.ActivePane.PointsToScreenPixelsY(ActiveCell.Top) / y) + xplus
            .Show
        End With
    End Sub
      0  1

  6. #126
    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
    non désolé
    Nom : Capture.JPG
Affichages : 314
Taille : 21,0 Ko
      0  0

  7. #127
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    juste par curiosité enlève ".activepane" dans tout mon code
      0  1

  8. #128
    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
    Citation Envoyé par patricktoulon Voir le message
    juste par curiosité enlève ".activepane" dans tout mon code
    ça se lance mais je voit rien à l'écran , il va hors écran je pense, je stop depuis vba
      0  0

  9. #129
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    et oui je commence a comprendre
    il ne faut pas l'enlever partout mille excuse je me suis rompé
    c'esr comme ca qui faut tester
    si ca marche j'ai compris

    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
    Sub UserFormAlign1()    '''''''''''''''OK'''''''''''''''''
        Dim x As Double, y As Double, w As Double, h As Double
        'x = GetDeviceCaps(GetDC(0), 88) / 72
        'y = GetDeviceCaps(GetDC(0), 90) / 72
        x = (ActiveWindow.ActivePane.PointsToScreenPixelsX(3) - ActiveWindow.ActivePane.PointsToScreenPixelsX(0)) / 3
        y = x
        xplus = UserForm1.Width - UserForm1.InsideWidth
        yplus = (UserForm1.Height - UserForm1.InsideHeight) / 2
        With UserForm1
            .StartUpPosition = 0
            .Left = (ActiveWindow.PointsToScreenPixelsX(ActiveCell.Left) / x) + xplus
            .Top = (ActiveWindow.PointsToScreenPixelsY(ActiveCell.Top) / y) + xplus
            .Show
        End With
    End Sub
      0  1

  10. #130
    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
    non ça colle pas non plus et c'est pas proportionné selon la cellule choisi
    Nom : Capture2JPG.JPG
Affichages : 326
Taille : 21,0 KoNom : Capture.JPG
Affichages : 291
Taille : 19,2 Ko
    et si je choisi par exemple 'g6' ça cache caremment
      0  0

  11. #131
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut
    et oui autrement dit ca ne peut plus etre universel
    selon les versions d'exel activepane n'est plus rattaché mais mergée avec activewindow
    et même avec les api c'est pareil
      0  1

  12. #132
    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
    tampis, mais le sujet est pas mal, désolé de t'avoir pris la tête la dessus, aller bonne nuit
      0  0

  13. #133
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    non tu me prends la la tete
    tu tourne avec quoi (excel/window)
      0  1

  14. #134
    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
    Citation Envoyé par patricktoulon Voir le message
    non tu me prends la la tete
    tu tourne avec quoi (excel/window)
    Office 2016 pro plus 32bits et Windows 10 64bits pro
      0  0

  15. #135
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    je m'en doutais

    je sais pas encore je n'ai pas tout décortiqué car j'ai proscrit W 8 et 10 je les analyse par curiosité
    mais je sais déjà que les shell32 nont pas les meme ossature
    donc le rendu des fenêtre sont différents

    ensuite les versions ultérieures a 2007 ont subis pas de refonte aussi
    parti de la c'est compliqué

    le problème c'est que quand on un fichier a faire tourner sur diverses machine (Windows/offices) ce genre de macro est complètement inutile
    des vrais salopards chez Microsoft
      0  1

  16. #136
    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
    business is business, mais je vais me contenter de l'api pour notre fameux calendrier, aller bis et bonne nuit, @+
      0  0

  17. #137
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    puré nuit courte déjà réveillé

    oui ben ca ne fonctionnera pas chez moi par exemple

    quand tu aura un moment test juste ca simplement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test15()
    Dim ptpx#, xplus#, yplus#
        With UserForm1
            ptpx = (ActiveWindow.ActivePane.PointsToScreenPixelsX(3) - ActiveWindow.ActivePane.PointsToScreenPixelsX(0)) / 3
            xplus = .Height - .InsideHeight
            yplus = .Width - .InsideWidth
            .Left = (ActiveWindow.ActivePane.PointsToScreenPixelsX(ActiveSheet.[b3].Left) / ptpx) + yplus
            .Top = (ActiveWindow.ActivePane.PointsToScreenPixelsY(ActiveSheet.[b3].Top) / ptpx) + yplus  
            .Show
        End With
    End Sub
      0  1

  18. #138
    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
    Bonjour Patrick,
    Là ça centre l'userform sur la page
      0  0

  19. #139
    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 433
    Points
    12 433
    Par défaut
    Tout ira beaucoup moins mal, patricktoulon, lorsque tu comprendras enfin que tous tes malheurs sont inhérents à des conversions d'unités dont tu peux te passer, puisque tout peut être directement calculé en points (sans conversion, donc) en ce qui concerne la position à l'écran du userform. Elle l'est dans le seul esprit de l'application Excel. Et donc en points également. Aucune conversion névessaire. Je te l'ai dit et répété.
    Comment la calculer ? Je te l'ai également dit et répété (et c'est ce que tu t'es amusé à appeler ma "petite fonction" ou "petite formule", hein ... avec une pointe d'ironie qui ne m'a pas échappé ... et te voilà maintenant dans un bain dans lequel je vais donc te laisser mariner quelque temps ).
    Ce ne sera qu'à l'issue de cette marinade que je reviendrai (à moins que tu ne te mettes à relire enfin tout autrement qu'en diagonale et que, ce faisant, tu y parviennes enfin sur ces bases).
    Amuse-toi bien.
      0  1

  20. #140
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    Points : 12 068
    Points
    12 068
    Billets dans le blog
    8
    Par défaut re
    nicolas creuse la question je suis persuadé que les versions ulterieur a W7 et excel 2007 ont des paramètres différents



    je te dis que tes actuve window.left +........+application usableheight....... dont tout est en point ,ne marche pas meme si je te l'accorde c'est logique

    quand tu le comprendra a ton tour hein????? il faut que je te le dise en quoi???
    pour te donner un exemple concret
    simplement activewindow.left donne le left de l'application chez moi alors que si on suit ta démo en image il est sensé me donner le left du classeur flottant ou pas
    parti de la je sais pas comment il faut te l'expliquer
    de toute façon résultat faux ou non il est bien évident que selon les versions de excel ou Windows ou les deux chaque expression aura un incidence différente ca on a plus a le prouver
    dans le dernier exemple
    je ne pet auxine donné numérique en dur
    seulement le pointoscreenpixelsX/Y et le résultat est diffèrent sur divers pc
    je sais plus comment te le faire comprendre


    a c que je sache
    y=activewindow.activpane.pointstoscreenpixelsY([B1].left) te donne la B1.left par raport a l' écran en pixel on est bien d'accords je te fait une démo animée si tu veux

    si je divise par le coeef je l'ai en point
      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