Microsoft 365 UserForm souci d'affichage

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,
Je vous souhaite un beau WE :)

Je reviens vers nos ténors car je bute sur un p'tit souci mais compliqué pour moi et je n'arrive pas à le résoudre.
J'ai un UserForm pour lequel j'utilise des APIs (merci aux ténors qui me les ont passé) :
- Pour masquer la barre de titre,
- Pour le positionner,
Comme vous le verrez, tout fonctionne bien sans souci (apparemment lol), sauf à l'affichage ... dans ma feuille, au clic cellules "F6 à F15".
En effet :
dans le vba mon UserForm est comme ceci
1659795877774.png

à l'affichage dans ma feuille, au clic cellules "F6 à F15" ... le voilà
1659795266275.png

Les marges grises à droite et en bas ne sont plus les même (elles sont plus grandes).

Je pense que le souci se situe dans les APIs (dans le code de l'UserForm et dans le module "Module_APIWindows".
J'ai tenter de voir mais je n'arrive à comprendre ce qu'il faudrait modifier.

Je joins le fichier test,
Pourriez-vous m'aider à trouver ?
Un grand merci,
Amicalement,
lionel :)
 

Pièces jointes

  • isiTel_test uf.xlsm
    61.6 KB · Affichages: 8
Dernière édition:

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
alors
pour commencer j'ai du mal a croire que ce soit un tenor qui t'ai donné le code des declarations des api
ou alors tu a fait un copier coller à la louche 😂 😂 😂 😂

donc on va faire simple
vire moi ce module api et toute les declaration d'api concernant la user 32 sauf celle pour simuler les touches

et met moi simplement ca dans le activate de l'userform
VB:
Private Sub UserForm_Activate()
    Dim hwnd&, H&
    H = Me.Height - (Me.Height - Me.InsideHeight) - 6
    hwnd = ExecuteExcel4Macro("CALL(""user32"",""GetActiveWindow"",""JCC"")")         'api GetActiveWindow
    ExecuteExcel4Macro ("CALL(""user32"",""SetWindowLongA"",""JJJJJ""," & hwnd & ", " & -16 & ", " & &H94000080 & ")")     'api SetWindowLongA
     Me.Height = H
    Call UserformPosSurCell(Me, Cells(ActiveCell.Row, 7))
  End Sub
terminé
tu voulais simplifier ben là t'es servi 😂😂😂😂

allez on teste pour voir
Regarde la pièce jointe 1146870

LOL
Merci Patrick :)
C'est tout bon !
lionel :)
 

patricktoulon

XLDnaute Barbatruc
re
non c'est vrai ??!!! c'est bon 😂 😂 😂 😂
bon ben c'est pas aujourd'hui que ça pète alors

j'ajouterais que ta fonction position est un abime sans fin
donc
un petit exemple avec la fonction issu de mon tutoriel sur PointsToScreenPixel(YouY)
c'est kado;)
va y teste la plage jaune
tu pourra pas dire que l'on t'a pas donné quelque chose de propre

au passage petit coucou à @ChTi160 ;)
 

Pièces jointes

  • placer un userform sur cell(pointstoscreenpixel).xlsm
    23.8 KB · Affichages: 3

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
re
non c'est vrai ??!!! c'est bon 😂 😂 😂 😂
bon ben c'est pas aujourd'hui que ça pète alors

j'ajouterais que ta fonction position est un abime sans fin
donc
un petit exemple avec la fonction issu de mon tutoriel sur PointsToScreenPixel(YouY)
c'est kado;)
va y teste la plage jaune
tu pourra pas dire que l'on t'a pas donné quelque chose de propre

au passage petit coucou à @ChTi160 ;)
Chalut Patrick : c'est super :)
J'ai une demande :
Quand tu fais un nouveau truc ... tu me l'envoies ok ? lol 😀😃😄😁😆😅😂🤣🙃😉😇
 

patricktoulon

XLDnaute Barbatruc
re
bonjour Lionel, Jean Marie
ben en général quand je crée une nouveauté elle est partagé dans les ressources ou ici sur ce forum ou les fonction personnalisée

et en effet le positionnement (la fonction ) a complètement été revu en terme de code et de méthode
je suis comme vous je m'améliore avec l'exercice

j'ai d'ailleurs consacré un module tout entier a PointsToScreenPixel
fonction qui a longtemps été décrédité ,tout simplement parce que l'on sais pas l’appréhender