ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
28 mars 2012 à 20:24
cs_cheyenne
Messages postés693Date d'inscriptionsamedi 18 mai 2002StatutMembreDernière intervention17 avril 2017
-
29 mars 2012 à 14:05
Bonjour,
je suis en train de travailler à la suite d'une discussion récente relative à l'affichage d'un bouton de commande.
Je "tombe" dans la foulée sur un autre point étonnant de VBA/Excel 2007 :
Il s'agit de l'évènement Workbook_WindowResize Voici ce que l'aide en ligne dit de son utilisation :
Cet exemple s'exécute dès que la fenêtre d'un classeur est redimensionnée.
Visual Basic pour Applications
Private Sub Workbook_WindowResize(ByVal Wn As Excel.Window)
Application.StatusBar = Wn.Caption & " resized"
End Sub
Or, voici le seul évènement en réalité proposé :
Private Sub Workbook_WindowResize(ByVal Wn As Window )
Mais ni l'un ni l'autre ne se décelenchent !
Pire (je viens d'essayer) :
On écrit du n'importe quoi, genre :
Private Sub Workbook_WindowResize(ByVal kiki As abracadabra)
MsgBox "ah"
End Sub
Aucun rejet ===>> aucun message ===>> tout est tranquillement accepté === >>
Mais bien entendu : rien ne se passe si l'on redimensionne la fenêtre !
Conclusion ? : l'évènement n'est tout simplement pas reconnu !
On se demande alors :
- pourquoi il figure comme évènement reconnu lorsque l'on consulte laide
- pourquoi ce "fait" est corroboré par l'existence de cet "évènement" (un fantôme, oui), dans la colonne de gauche de l'éditeur lorsque l'on choisit WorkBook dans la colonne de gauche (en ayant choisi l'objet ThisWorkBook depuis l'explorateur du projet !)
J'aimerais alors savoir :
1) si je suis le seul dans ce cas, avec Office 2007 ?
2) si les versions antérieures (1997, 2000 et 2003) connaissent le même comportement à l'abracadabrante ?
3) si la version 2010 est également dans ce cas
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
NHenry
Messages postés15102Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention27 mars 2024159 28 mars 2012 à 21:03
Bonjour,
En 2003, pareil, pas de MsgBox.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 28 mars 2012 à 21:17
Merci, NHernry.
Dont acte ! (ils se moquent du monde, là !)
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 29 mars 2012 à 10:56
Bonjour, CTAC
1) Merci
2) tu as raison (je viens de le vérifier)
Mais alors : problème ===>>
Si l'on redimensionne la fenêtre de l'application ===>> celle du classeur s'en trouve visuellement redimensionnée (ce qui n'est en réalité pas le cas, car je viens de constater qu'elle garde ses dimensions)
Faisons ce petit test avec un bouton de commande sur la feuille :
Private Sub CommandButton1_Click()
Dim hauteur1 As Single, hauteur2 As Single
msg = "au départ : " & vbCrLf & _
"caption de la fenêtre du classeur ===>> " & ActiveWindow.Caption & vbCrLf & _
" hauteur de la fenêtre du classeur ===>> " & ActiveWindow.Height & vbCrLf & _
"hauteur de l'aire de travail ===>> " & Application.UsableHeight
ActiveWindow.Height = ActiveWindow.Height / 1.2
msg = msg & vbCrLf & vbCrLf & "Après redimensionnement de la fenêtre de l'application" & vbCrLf & _
"caption de la fenêtre du classeur ===>> " & ActiveWindow.Caption & vbCrLf & _
" hauteur de la fenêtre du classeur ===>> " & ActiveWindow.Height & vbCrLf & _
"hauteur de l'aire de travail ===>> " & Application.UsableHeight
MsgBox msg
End Sub
Et c'est alors assez gênant
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
Vous n’avez pas trouvé la réponse que vous recherchez ?