Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1267 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  cancel = true

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

cancel = true

n°2046774
abbba
Posté le 06-01-2011 à 11:33:13  profilanswer
 

Bonjour tout le monde,
 
J'ai juste une petite question concernant l'utilisation de cancel=true.
 
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
  MsgBox "Vous avez double cliqué sur la cellule " & Target.Address
  Cancel = True
End Sub
 
Dans ce code, l'utilisation de cancel n'est-elle pas censée empêcher l'ouverture de la MsgBox lors d'un clique droit?
Il n'est pas supposé rien se passer finalement?
 
Chez moi la MsgBox s'affiche bien.
 
Je n'ai probablement pas bien compris l'utilisation de cancel.
 
Merci d'avance de votre aide

mood
Publicité
Posté le 06-01-2011 à 11:33:13  profilanswer
 

n°2046888
olivthill
Posté le 06-01-2011 à 14:28:22  profilanswer
 

Cancel est un paramètre qui est passé en lecture et en écriture, car il n'est pas défini "ByVal", et donc il est défini "ByRef" par défaut.
 
Donc, à l'intérieur de la procédure, changer ce paramètre aura une influence après que la procédure sera exécutée si le programme, qui suit, teste cette variable.
Et c'est le cas, après la procédure, Excel va tester Cancel.
 
Si Cancel est à True, alors Excel ne va pas faire son traitement habituel, parce qu'Excel considère que l'événement du clic droit a été entièrement pris en charge par la procédure.
 
Si vous laissez Cancel tel quel, ou si vous mettez Cancel à False, alors, après la procédure, Excel, va continuer en traitant le clic droit comme il le fait par défaut.
 
Par exemple, si, par défaut, le clic droit affiche un menu contextuel, alors mettre Cancel à True va empêcher l'affichage de ce menu.
 
Pour plus d'infos, voir la doc officielle http://msdn.microsoft.com/en-us/li [...] S.80).aspx
 
Edit : Donc, on voit que Cancel n'empêche rien de ce qui se trouve dans la procédure (l'affichage du message), mais à une action pour ce qui vient après par défaut.


Message édité par olivthill le 06-01-2011 à 14:31:18
n°2046901
abbba
Posté le 06-01-2011 à 14:56:49  profilanswer
 

Merci !


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  cancel = true

 

Sujets relatifs
[VBA] : problème d'affichage (Image.Visible = False ou true)delete + cancel => database crash
[résolu] false = true($résolu = 'ok') probleme avec FALSE et TRUE
Valider la fenetre CANCEL et relancer un fichier?[JavaScript] Existance d'un selected=true ?
Boolean qui passe de true a false sans qu'on lui demandeCancel, mini et max
expression régulière: b vaut true au lieu de falsedisabled false ou true impossible 100methodeessaye
Plus de sujets relatifs à : cancel = true


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR