ç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
ç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
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
re
et oui 1.333333333333333
mon calcul est donc bon c'est ca qui rends fou
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
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
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
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
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
non désolé
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
juste par curiosité enlève ".activepane" dans tout mon code
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
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
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
non ça colle pas non plus et c'est pas proportionné selon la cellule choisi
et si je choisi par exemple 'g6' ça cache caremment
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
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
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
tampis, mais le sujet est pas mal, désolé de t'avoir pris la tête la dessus, aller bonne nuit
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
non tu me prends la la tete
tu tourne avec quoi (excel/window)
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
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
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
business is business, mais je vais me contenter de l'api pour notre fameux calendrier, aller bis et bonne nuit, @+
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
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
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
Bonjour Patrick,
Là ça centre l'userform sur la page
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
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.
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.
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
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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager