Autres [Résolu]Affichage userform sur cellule ou activX version simplifiée a tester

patricktoulon

XLDnaute Barbatruc
bonjour suite a deux discussions ressentes j'ai repris ma méthode et je l'ai simplifiée
normalement avec cette méthode on est dédouané du calcul et prise en charge du freezepane et des scrollbars H et V

aucune Api window ou gdi !!
aucun chiffre en dur dans le code !!!
aucun calcul des scroll ou du freezepane
et l'userform est contraint dans le périmètre de la fenêtre application si il le dépasse
vous voulez bien tester
cellule a jumeler
demo2.gif


activx a jumeler

demo3.gif
 

Pièces jointes

  • placement usf.xlsm
    29.4 KB · Affichages: 27
Dernière édition:

Roland_M

XLDnaute Barbatruc
re

revoici mon classeur avec les tests en question séparés selon les volets ou pas.
les tests sont nettement plus facile à gérer !

perso après moult essais il semblerait que cette fois ce soit ok ! en attendant confirmation . . . !?
 

Pièces jointes

  • Placement Cell Roland_MODIF2.xlsm
    35.2 KB · Affichages: 7

patricktoulon

XLDnaute Barbatruc
ok j'essai
mais depuis toute a l'heure j'ai pigé l'erreur et effectivement il y a un chose illogique
a savoir splitrow/splitcolumn ou les deux le calcul top ne se fait pas pareil
sans doute un bug car pour le coup la oui c'est illogique

je travaille en même temps sur une autre écriture beaucoup plus simple en gardant ma méthode
allez je teste ;)
 

Roland_M

XLDnaute Barbatruc
je viens de m'apercevoir qu'avec volet figé en haut seulement
qu'il a un décalage lorsqu'on clic sur la partie fixe du haut !

pourtant cela fonctionnait au moment ou j'ai joint le fichier !?
probablement que le scroll tombait juste !
mais en descendant ça colle pas ! c'est la seule chose qui demeure, si tu peux y regarder aussi ce serait sympa !
pour le reste tout est ok !
 

patricktoulon

XLDnaute Barbatruc
re a ben je suis désolé roland mais c'est allé vite 3 doubleclick 3 position différentes
c'est quoi qui était escompté le top ou le bottom ?
reprends la base qui fonctionne

demo2.gif




mais de toute façon il y a quelque chose d'illogique avec les split (row ou column ou les deux) tu y est pour rien même avec une autre formule je tombe sur le même problème
 

Roland_M

XLDnaute Barbatruc
alors c'est à tomber par terre !
chez moi tout ceci fonctionne sur 2007 et 2016 avec Win 7 64bits (EDIT: je viens d'essayer sur un ancien coucou avec XP c'est ok aussi)
donc on ne peut pas dire que ça fonctionne pas !
c'est plutôt que ce qui fonctionne chez moi ne fonctionne pas chez toi et vice versa !
c'est plus possible de continuer ! y a comme un bleme qq part !?

je suis dessus en ce moment, j'ai pas encore fini mais c'est ok ! à moins d'une bricole y a pas cet écart !
chez moi tout est ok sauf une seule chose difficile à solutionner,
avec un volet en haut tout est ok sauf si une ligne est plus haute que les autres !
c'est tout, j'y travaille . . .
 

Pièces jointes

  • Placement Cell Roland_MODIF3.xlsm
    36 KB · Affichages: 9
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
ok pas de soucis roland post 87 et 96 fonctionne en dpi 96

ma formule est donc bonne je devenais fou depuis toute a l'heure

bon ben il va faloir que je trouve une solution a cela car en 96 sur mon ecran resolution 1920X1080 les lettres sont trop petites
moi aussi W7 64 office 2007 pro plus

en fait les defauts il y sont mais en 96 c'est trop petit pour faire la différence
comment je vais intégrer (/ 1.25) a ce truc moi ??
 

patricktoulon

XLDnaute Barbatruc
merci danreb
roland et moi avons trouvé
bon que ce soit ta version celle de roland ou la mienne on a une petite différence de 2/3 point c'est acceptable chez les un et chez les autres
un peu plus en gros zoom mais bon rare est le besoins d'un zoom 300 par exemple

perso ce qui m’intéresse c'est de comprendre la corrélation entre activewindow ,splitrow,splitcolumn,sroll h et v
c'est dommage que pointstoscreenpixel est courtcircuité par les split row/column sinon moins de 10 lignes de code et hyper simple en plus
je regarderais si je peux le sortir de ton userform pour en faire une fonction générique dans un module standard
perso je souhaiterais que la fonction me donne le point top et left de la cellule le reste doit être séparé
 

Roland_M

XLDnaute Barbatruc
Bonjour à tous,

Patrick, excuses moi,, je dois pas encore être réveillé, mais je vois pas où ni comment insérer l'objet !?
on a la position du coin haut gauche comment ça ira si on clic dans les parties fixes ?

ensuite tu me dis pas si le dernier classeur que j'ai mis (post#96) fonctionne chez toi !?
j'ai l'impression que tout ce que je fais ne sert à rien !?
.
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
re

oui mais je réitère ma question, de mon dernier message, dans ton dernier code
"Excuses moi,, je dois pas encore être réveillé, mais je vois pas où ni comment insérer l'objet !? "

EDIT:
tu dis "ton ficher post 87 et post96 fonctionne en dpi 96 mais pas en 120 "
mais alors, ça sert à quoi ceci !?
With ActiveWindow.ActivePane: PtToPx = (.PointsToScreenPixelsX(Cells.Width) - .PointsToScreenPixelsX(0)) / Cells.Width: End With
 
Dernière édition:

patricktoulon

XLDnaute Barbatruc
re
qu'est ce que tu ne comprends tu pas ?

With ActiveWindow.ActivePane
.PointsToScreenPixelsX(Cells.Width) 'donne la largeur totale du point 0 de l’écran au right de la grille complete
.PointsToScreenPixelsX(0) ' donne la largeur du point 0 de l’écran au point 0 gauche de la grille

on a donc maintenant la largeur complète de la grille(juste de la grille!!!!)

/ Cells.Width ' on le divise par la largeur qui nous est donné en point

on a donc le coefficient point to pixel chez toi 1.333333333333333 chez moi 1.66666666666667
: End With

si je multiplie ce coefficient par 72 j'obtiens
chez toi 95.999999999999......
chez moi 120,0000000000002
ce qui correspond bien au DPI
je pensais que tu avais compris ma fonction ptopx
 

Statistiques des forums

Discussions
312 332
Messages
2 087 361
Membres
103 530
dernier inscrit
Chess01