Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
bonjour
Sub TrouverCellulesBleues_ColonneL_DisplayFormat()
Dim c As Range, u As Range, CouleurBleue As Long, plage As Range, nbrows&
CouleurBleue = 6043158 'couleur recherchée dans la colonne L
'on determine la plage maximale pour la recherche
Set plage = Range(ActiveSheet.[a1]...
Bonjour @Dudu2
le récursivité est 100 fois plus rapide qu'une boucle
Le nombre de tours correspond au niveau où se trouve la fenêtre dans la hiérarchie arborescente.
Mais je suis étonné d'un tel foutoir dans ton arborescence
Chez moi il est en 2 ou 3 eme position donc 3 tours
Bon en tout cas...
plus sure encore on teste de handle du userform en plus de la classe au cas ou tu aurais 36 userform affilié a excel
Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function GetWindow Lib "user32" _
(ByVal hwnd As LongPtr, ByVal uCmd As Long) As LongPtr...
voila si on enleve tout ce qui t'es inutile on transforme un peu
renvoie le handle du parent si attaché a l'application excel sinon 0
explore les filles et soeurs
Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function GetWindow Lib "user32" _
(ByVal...
regarde si on garde que la partie handle de la fonction on laisse tomber toute la liste et tout le toutim on garde que la recursivité
si le userform est attaché il va apparaitre dans la la liste des descendantes directes ou indirectes de xlmain
et quand on regarde la colonne i c'est bien le...
re
je viens d'avoir confirmation
getparent getancestor et surtout getwindow n'expose pas de methode de retroingenérie pour les userforms parcontre il expose une methode descendante valide je pourait adapter ma fonction perso du projet Taskpane 4.0 pour confirmer à 100% l'affiliation
autrement...
sinon tu pourrais essayer getAncestor
Option Explicit
#If VBA7 Then
Private Declare PtrSafe Function GetParent Lib "user32" (ByVal hwnd As LongPtr) As LongPtr
Private Declare PtrSafe Function SetParent Lib "user32" (ByVal hWndChild As LongPtr, ByVal hWndNewParent As LongPtr) As LongPtr...
re
et oui c'est ca le problème généré par la gestion MDI moderne
Beaucoup de vieilles apis renvoient une donnée erronée
Quand comprendras-tu que l'application excel n'est pas une fenêtre win32 comme les autres. ;)
et que Les UserForms peuvent être owned (attaché en tant qu'enfant) par Excel...
plutot que t'ennuyer a restructurer l'arborescence des fenêtres
un bouton dans le ruban dans ton applicatif pour juste faire un hide et un show
le show se ferait point 0/0 +calcul si userform child /application
ou .application.left et top si non child
terminé
en VBA les choses les plus...
re
a bien oui bien évidemment si le userform devient child de l'application(activewindow depuis 2013) il est évident que le positionnement va et doit se faire par celle-ci.
et les écrans quel qu’il soit , n'ont alors plus rien a voir
d'autre part le userform doit rester dans le rectangle de...
bonjour @Dudu2 bonne année
tiens!!? le king of multi ecran est en rade j'en reste pentoi
peut être avec du code on pourrait voir ce qui ne va pas
la comme ca sans boule de cristal ca va être dur