[se trasladó desde .Net a VBA] Lier 2 objets sur une feuille Excel
Dilueur
Messages postés24Date d'inscriptionmardi 3 mars 2009StatutMembreDernière intervention28 octobre 2011
-
24 déc. 2009 à 19:48
CTAC
Messages postés133Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention 8 juin 2012
-
26 déc. 2009 à 13:18
Bonjour,
Je suis confronté à un problème d'objets qui ne restent pas collés l'un à l'autre.
Je m'explique plus en détail :
1/ je suis donc sous Excel 2007 (version en espagnol, je vis en Uruguay).
2/ Dans mon classeur j'ai 3 feuilles.
3/ Toutes ces feuilles peuvent être soit en mode "Vue Normale", soit en mode "Plein Écran" et dans ce cas ce que j'appellerais les "fioritures" ("Gridlines", "Headings" & "WorkbookTabs") sont occultées, afin, disons, d'avoir une présentation la plus sobre et la plus conviviale possible.
4/ Le problème devient alors évident : comment aller d'une feuille à l'autre (puisque les onglets des feuilles sont occultés) sans pour autant utiliser des raccourcis claviers (on peut les oublier, mais surtout tout le monde ne les connaît pas forcément) ?
5/ Pour pallier ce problème, j'ai pensé à 2 solutions :
- menu déroulant avec la liste des noms des feuilles du classeur ;
- Bouton ActiveX qui, quand on clique dessus, fait apparaître un POPUP avec les noms des feuilles du classeur.
Les menus déroulants marchent parfaitement bien. Mais je préfèrerais la solution des POPUP, et c'est là que j'ai un problème, pas grave certes mais pas très esthétique.
Quand je clique sur le Bouton ActiveX doit alors apparaître le POPUP à côté dudit bouton. Pour ce faire, j'ai paramétré les coordonnées du POPUP qui changent suivant que l'on soit en mode Plein Écran ou en mode Vue Normale. Seulement voilà, quel que soit le mode de l'écran, si je fais un Zoom avec CTRL + molette de la souris et qu'ensuite je clique sur sur le bouton ActiveX, le POPUP n'est plus collé au bouton. Curieusement les coordonnées du bouton sont toujours les mêmes, mais pas celles du POPUP.
Il y aurait-il un moyen pour, en quelque sorte, "aimanter" le bouton ActiveX à son POPUP quelles que soient les circonstances ?
cs_Jack
Messages postés14006Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 25 déc. 2009 à 21:08
Hola
Comment procèdes-tu pour ouvrir ta Popup ?
Si c'est bien toi qui fournit les coordonnées d'apparition de cette PopupMenu, mieux vaudrait prendre ces coordonnées au moment du clic, grace, par exemple, à l'API "GetCursorPos"
Partie déclarations :
Private Type POINTAPI
X As Long
Y As Long
End Type
Private Declare Function GetCursorPos Lib "user32" (lpPoint As POINTAPI) As Long
Partie programme :
Dim maMousePos As POINTAPI
Call GetCursorPos(maMousePos)
Tu récupèreras ainsi la position en pixels du curseur dans maMousePos.
A toi de voir si les coordonnées que tu dois passer avec l'appel de ta Popup est bien en Pixels.
Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 25 déc. 2009 à 21:24
Buenas...
Aprecio mucho el hecho de que "se trasladó" el asunto.
Presumo yo que la razón de dicho traslado se encuentra (mas obviamente) en la elección de un tema que por nada correspondia al lenguage usado para desarrollar la aplicación concernida...
Comme quoi : question de langage et de choix du thème correspondant à ce langage.
J'en suis personnellement satisfait, de cette saine réaction ...
____________________
Très intéressante fable, L'OISELEUR, L'AUTOUR ET L'ALOUETTE !
Cliquer sur "Réponse acceptée" (en bas d'une solution avérée adéquate) rendra service à d'autres. PENSEZ-Y.
CTAC
Messages postés133Date d'inscriptionmardi 24 décembre 2002StatutMembreDernière intervention 8 juin 20125 26 déc. 2009 à 13:18
Bonjour,
Un petit coup d'oeil dans l'aide ...
CommandBar.ShowPopup, méthode
Cette méthode affiche une barre de commandes sous la forme d'un menu contextuel selon les coordonnées indiquées ou selon celles du curseur actif.
Paramètres
Nom Obligatoire/Facultatif Type de données Description
Abscisse x Facultatif Variante Abscisse x de l'emplacement du menu contextuel. Si vous ne spécifiez pas cet argument, l'abscisse x du curseur est utilisée.
Ordonnée y Facultatif Variante Ordonnée y de l'emplacement du menu contextuel. Si vous ne spécifiez pas cet argument, l'ordonnée y du curseur est utilisée.