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. #521
    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
    pour 2007 la je peux le dire "c'est bon je lai "
    Elle est bien bonne, celle-là, patricktoulon : ELLE n'est pas buggée, ELLE (te l'ai dit plus haut, tellement plus haut ...)
    Quant aux autres versions : tu t'apercevras vite, si tu fais des tests logiques isolés et rigoureux de même nature (ne veut pas dire identiques) que celui que je t'ai montré, que n'existe pas non plus de "cadence" définie
    Bref ! amuse-toi bien, mais ne reviens s'il te plait pas avec un nouvel "ce coup-ci j'ai bon" qui serait mis à mal en deux coups de cuillère à pot, hein ...
    Notre cercle, lui, continue en ce qui le concerne sur le chemin pris : celui de la démonstration sans appel d'un bug en vue de sa dénonciation.
    Dis-toi alors bien une chose, patricktoulon : si Microsoft, alors acculé, devait soit corriger, soit cesser d'avancer comme valable la méthode incriminée, toute "rustine" fabricotée pour "rattraper" (inparfaitement, de surcroît) deviendrait alors totalement caduque. Tu comprends cela ?
    Allons, allons ...
    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

  2. #522
    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
    la preuve que c'est bien la conversion pointstoscreenpixels par le zoom qui pose problème
    voila mes deux versions office 2007
    on constate que dans la première je prends les coordonnées de la cellule avec pointtoscreenpixels et le zoom modifié ou pas est appliqué a la valeur retournée

    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 version_2007()
        Dim X As Double, Y As Double, Z As Double, versio, ppx As Double
        With ActiveWindow
            Z = (.Zoom) / 100
            If Val(Right(Z, 1)) Mod 2 <> 0 And Z <> 1 And Z <> 3 Then ssupp = 0.1: Z = Z + ssupp
            ppx = (.ActivePane.PointsToScreenPixelsY(3) - .ActivePane.PointsToScreenPixelsY(0)) / 3
            X = .ActivePane.PointsToScreenPixelsX([d3].Left)
            Y = .ActivePane.PointsToScreenPixelsY([d3].Top)
        End With
        With UserForm1
            .Show 0
            .Left = (X / ppx) * Z + 4.4
            .Top = (Y / ppx) * Z + 4.4
        End With
    End Sub
    maintenant dans cette version je prends seulement les points 0 de la grille avec poitstoscreenpixels le zoom modifié ou pas y est appliqué
    pour le positionnement j'utilise en plus des points 0 la cellule .left et top * le coefficient zoom mais sans la modification---> (-ssupp)

    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
    Sub version_2007bis()
        With ActiveWindow
            Z = .Zoom / 100    'coefficient zoom
            zend = Val(Right(Z, 1))
            ssupp = 0
            If zend Mod 2 <> 0 And Z <> 1 And Z <> 3 Then ssupp = 0.1: Z = Z + ssupp    'ajustement du coefficient zoom
            ppx = (.ActivePane.PointsToScreenPixelsX(3) - .ActivePane.PointsToScreenPixelsX(0)) / 3    'coefficient point to pixel
            ' les points 0 left et top de la grille
            x = (.ActivePane.PointsToScreenPixelsX(0) / ppx) * Z + 4.4
            y = (.ActivePane.PointsToScreenPixelsY(0) / ppx) * Z + 4.4
        End With
        With UserForm1
            .Show 0
            .Left = x + [D4].Left * (Z - ssupp)'j'enlève la modification apporté au coefficient zoom
            .Top = y + [D4].Top * (Z - ssupp)'pareil
        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

  3. #523
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    marc oui zoom a 100 avec un autre zoom c'est la bérézina
    Extrait d'un code ici simplifié & testé ce jour sur Excel 2003 & 2010 32 bits (le portable avec 2007 n'étant pas rentré)
    sur des versions de Windows différentes (Seven & 8.1) avec des profondeurs d'écran différentes (96 & 120 dpi)
    uniquement pour un zoom à 100% et calant la fenêtre de l'UserForm sur la cellule D3,
    code à placer dans le module de l'UserForm :
    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
    Private Declare Function GetDC& Lib "user32" (ByVal hWnd&)
    Private Declare Function GetDeviceCaps& Lib "gdi32" (ByVal hdc&, ByVal nIndex&)
     
    Function GetPPI!(L&)
             GetPPI = 72 / GetDeviceCaps(GetDC(0), L)
    End Function
     
    Static Function GetX!(V)
                    If X! = 0 Then X = GetPPI(88)
                    GetX = 4 + ActiveWindow.PointsToScreenPixelsX(V / X) * X
    End Function
     
    Static Function GetY!(V)
                    If Y! = 0 Then Y = GetPPI(90)
                    GetY = 4 + ActiveWindow.PointsToScreenPixelsY(V / Y) * Y
    End Function
     
    Private Sub UserForm_Activate()
        If ActiveWindow.Zoom = 100 Then
            Me.StartUpPosition = 0
            Me.Left = GetX([D3].Left)
            Me.Top = GetY([D3].Top)
        End If
    End Sub
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
      0  1

  4. #524
    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
    la preuve que c'est bien la conversion pointstoscreenpixels par le zoom
    Tu as vraiment la très mauvaise habitude de définir comme "preuve" d'une raison (la tienne, au hasard) ce qui n'est que le constat d'un effet, patricktoulon.
    Et tu as tort, mais je ne vais pas "balancer" ici, un par un, les tests très techniques d'un cercle de gens rigoureux et sérieux.
    (je t'ai quand-même parlé plus haut d'une analogie avec les balances de précision, non ? Tu n'y a manifestement rien compris).
    Mais je perds ici de plus en plus mon temps ...
    Continue sans 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

  5. #525
    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
    oui marc getdevicecap et get(dc) sont les versions les plus utilisée
    mais lorsqu'un zoom est appliqué selon les versions il est difficile de trouver le coefficient zoom pour la simple et bonne raison qu'il n'est pas croissant régulièrement a partir du moment ou l'on utilise pointstoscreenpixels qui fonctionne avec une logique un peu bizarre certains appelle ca un bug moi je pense que c'est une autre logique que celle qui reviendrait a faire les chose mathématiquement

    exemple
    zoom 100 = 1
    zoom 130 =1.4 chez moi avec pointtoscreenpixel et non 1.3

    sur les version 2013 et plus c'est encore plus tordu visiblement c'est un coup sur 3 ou 4 sans parler des "-5" à "+4.4" pour les cadre
    je testerais ta fonction tout a l'heure je dois partir
    mais le chalenge est quand même de ne pas se servir des api gdi ou Windows
    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

  6. #526
    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
    unparia ce qui nous sépare ,c'est que tu tiens absolument a raisonner mathématiquement tel qu'on l'apprit a l'école
    je pense moi au contraire que ce n'est pas un bug mais bien une logique que nous avons pas encore compris vu les résultats
    donc quand je dis la preuve c'est par rapport a cette considération
    l'informatique n'est pas mathématique mais logique!!
    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
      1  2

  7. #527
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Comme précisé plusieurs fois mon extrait est uniquement pour un zoom à 100%,
    rien qu'en regardant le code de l'évènement Activate de l'UserForm !

    Et dans ce cas quel que soit la configuration des ordinateurs que j'ai pu tester
    je n'ai jamais eu de souci avec les fonctions PointsToScreenPixels !
    Pour peu de respecter la définition d'Excel concernant l'unité Point
    comme indiqué dans l'aide VBA interne et dans le post #41

    Quant au facteur de zoom, voir les posts d'unparia, notamment les #45 & 48

    Sinon la logique est forcément mathématique ! Même quand elle n'est qu'arithmétique …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
      0  1

  8. #528
    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 pense moi au contraire que ce n'est pas un bug mais bien une logique que nous avons pas encore compris vu les résultats
    Te rends-tu au moins compte de l'incongruité de ce que tu dis là ???????

    Il n'y a rien à "comprendre" et tout à attendre tel que l'expose l'aide interne VBA --->>

    Window.PointsToScreenPixelsX, méthode
    Cette méthode convertit une mesure horizontale de points (coordonnées du document) en pixels d'écran (coordonnées de l'écran). Elle renvoie la mesure convertie sous la forme d'une valeur de type Long.
    Syntaxe

    expression.PointsToScreenPixelsX(Points)
    Point barre ! Et si ne le fait pas --->> BUG et non "logique non comprise" !!!!

    Bref ! J'en ai plus que marre d'avoir à répondre à de telles énormités.
    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. #529
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Précisions pour Patrick en particulier :

    le zoom que j'évoque est celui d'Excel, pas celui de l'Affichage de Windows !
    Ce dernier ne me posant pas de souci car c'est la profondeur d'écran (dpi ou ppp) gérée dans mon extrait de code :
    forcément car comme la base de calculs est en 72ppp et n'ayant jamais vu d'ordi dans cette configuration depuis ce siècle
    et même peu ou prou le siècle dernier !

    Ce code fonctionnant aussi bien pour la fenêtre de la feuille de calculs maximisée comme réduite,
    idem pour la fenêtre principale d'Excel …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
      0  1

  10. #530
    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
    re
    moi aussi marc je pare bien du zoom Excel celui de Windows pas besoins getdevicecap te le donne en fonction de la taille choisi 96 ou 120
    j'ai donc testé ton model effectivement c'est la version la plus connu seulement en zoom 100 dans excel
    j'ai essayé d'ajouter /trouver la formule pour l'adaptation au zoom Excel mais c'est un casse tète chinois c'est pour ca que je ne l'utilise plus car la plus part du temps je suis en zoom 110 ou 120
    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

  11. #531
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 441
    Points
    1 441
    Par défaut
    bonjour à tous,
    suite de mes recherches "relative"
    Nom : Capture3.JPG
Affichages : 239
Taille : 127,8 Ko
    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM
      0  1

  12. #532
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 441
    Points
    1 441
    Par défaut
    re,
    avec une position de 100 x 100
    Nom : Capture4.JPG
Affichages : 229
Taille : 133,4 Ko
    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM
      0  2

  13. #533
    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 à tous,
    Maintenant tous le monde sait qu'on n'a pas de solution miracle, je viens de reprendre ma solution de base modifiée avec la façon correctif à Patrick
    et pour moi ça marche à n'importe quel zoom.
    Si vous pourriez juste essayer et me dire ce que ça donne, et après j'en reste là.
    Bonne suite à tous
    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
    Sub test()
    Dim PtToPx#, Zooom@
     
    Version = Round(Val(Split(Application.OperatingSystem, " ")(3)))
    Corec_L = IIf(Version > 6.01 Or Version = 0, -5, 4.4)
    Corec_T = IIf(Version > 6.01 Or Version = 0, 0, 4.4)
     
    Zooom = ActiveWindow.Zoom / 100
    PtToPx = ((ActiveWindow.ActivePane.PointsToScreenPixelsX(ActiveSheet.[a1].Width) - ActiveWindow.ActivePane.PointsToScreenPixelsX(0)) / ActiveSheet.[a1].Width) / Zooom
     
    With UserForm1
    .Show 0
    .Top = (ActiveWindow.ActivePane.PointsToScreenPixelsY(ActiveCell.Top) / PtToPx) + Corec_T
    .Left = (ActiveWindow.ActivePane.PointsToScreenPixelsX(ActiveCell.Left) / PtToPx) + Corec_L
    End With
     
    End Sub
    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

  14. #534
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 441
    Points
    1 441
    Par défaut
    bonjour à tous,
    la formule : c11 + c9 - c6 - 50 (ruban) ce révèle aléatoire (ruban 50 ?)

    je vous transmets ces chiffres qui peut être vous serviront
    le zoom écran n'a pas d'influence, celui d'excel modifie les "PointsToScreen"
    Nom : Capture5.JPG
Affichages : 260
Taille : 134,8 Ko
    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM
      0  2

  15. #535
    Membre extrêmement actif Avatar de mjpmjp
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2012
    Messages
    1 133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2012
    Messages : 1 133
    Points : 1 441
    Points
    1 441
    Par défaut
    bonjour,
    ces chiffres sont valable pour excel 2010 pas pour 2016 !!!
    je suis parvenu à déterminer le haut de A1,
    cependant, quand dans les options du book on agrandit la taille de la police de +2 il faut également ajuster avec +2

    voila ...vive excel
    @+JP
    Caractéristiques (WEB) phpMyAdmin 4-74 , PHP 5-631 , Apache 2-427 , MySQL 5-719
    Présentation NAS DS-3615xs + 20Go , DSM 6.1.6-15266 Up1 , 12 * WD 4To WD4000F9YZ (10 raid 6+ )+(2 raid 1+) , LinkSys comutateur-switch lgs528p-eu , Onduleur UPS 720W Power Boxx Lcd (4*UPS + 4*MOD)
    Mes contributions (EXCEL) Form GRAPHIQUE: Gestion des boutons , Liste Onglet dynamique...GESTION de FILM
      0  2

  16. #536
    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 les copains,

    Cette fois j'ai bien compris qu'on peux rien faire,
    rien que pour mettre l'userform en mode pleine écran avec ou sans api, avec ma config j'ai comme un mur au niveau du left (+5 de décalage de chaque cotés et en bas)
    Dernier code fait pour ajuster en pleine écran

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub UserForm_Activate()
    'mode pleine écran
    'Fenêtre excel en mode plaine écran
       With UserForm1
         .StartUpPosition = 3
         .Width = Application.Width
         .Height = Application.Height - 5
         .Left = -5
         .Top = 0
       End With
    End Sub
    Donc il y à peut-être un problème mathématique dans l'application mais aussi un soucis de point zéro.

    Voilà, à bientôt.
    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

  17. #537
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut



    Je ne vois pas comment il pourrait y avoir un souci de point zéro même si le zoom n'est pas à 100%
    vu le plateau déjà livré dans les posts #45 & 48 par exemple …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
      0  1

  18. #538
    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
    bonsoir
    Je ne vois pas comment il pourrait y avoir un souci de point zéro même si le zoom n'est pas à 100%
    c'est FAUX Marc

    le zoom agit sur la partie ou les numéros de ligne sont affichés juste avant le left 0 grille soit avant le columns(1).left
    sur 2007 il agit aussi sur les displaybar heading
    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. #539
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut

    Alors tu n'as pas lu le post #45 ni son code !

    Comment cela se fait-il de notre côté - unparia & moi - nous n'avons pas de souci de point zéro ?!
    Et ce sur des configurations d'ordinateurs bien différentes …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)
      0  1

  20. #540
    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 a tous
    de toute façon j'ai trouvé pourquoi ca décorne avec pointstoscreenpixels sur certains degrés de zoom
    il n'y a qu'a faire ce test pour comprendre
    teste avant a zoom 100 pour confirmer et teste a 130 140 150 160 170 190
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    With ActiveWindow
    Z = .Zoom / 100
    MsgBox (.ActivePane.PointsToScreenPixelsX([c3].Width) * Z)
    MsgBox (.ActivePane.PointsToScreenPixelsX([c3].Width) - .ActivePane.PointsToScreenPixelsX(0)) * Z
    End With
    End Sub
    le 2 eme message donne bon alors maintenant dis moi quel rapport a le point 0( ci dessus en gras) avec width de la cellule
    regarde bien le résultat avec les zooms qui sont divisible que lui même et ceux qui sont paires
    traduit ca en point avec tes api si tu veux et place ton userform avec

    et fait ce même test avec les apis gdi et Windows

    edit:
    un autre test avec 2007
    teste avec la ligne 6 et une seconde fois sans

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub test()
    With ActiveWindow
    For i = 50 To 400 Step 10
            .Zoom = i
            Z = (.Zoom) / 100
            If Val(Right(Z, 1)) Mod 2 <> 0 And Z <> 1 And Z <> 3 Then ssupp = 0.1: Z = Z + ssupp
            dpi = (((.ActivePane.PointsToScreenPixelsY(3) - .ActivePane.PointsToScreenPixelsY(0)) / 3) / Z) * 72
    Debug.Print .Zoom & "---" & dpi
      .Zoom = 100
     Next
    End With
    End Sub
    alors dit moi c'est le zoom ou pointstoscreenpixels qui décorne hein ??
    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

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