| |
Empêcher l'apparition du
menu contextuel au clic droit |
Problème : ne pas voir apparaître le menu contextuel à
chaque clic droit |
Macro |
Commentaire |
Private Sub Worksheet_BeforeRightClick(ByVal
Target As Range, Cancel As Boolean)
Cancel = True
End Sub |
'Arrêt=Vrai |

Déclencher une macro à l'apparition d'un texte
dans une colonne |
Problème : A chaque que fois que le mot TEST apparaît dans
la colonne G, on lance une macro |
Macro |
Commentaire |
Private Sub Worksheet_SelectionChange(ByVal
Target As Range)
With Range("G1:G5000")
Set c = .Find("TEST", LookIn:=xlValues)
If Not c Is Nothing Then
c.Value = Empty
MacroAppellée
Else: End
End If
End With
End Sub |
'avec les 5000 1ere cellules de la colonne G
'On regarde si le nom TEST 'existe dans les valeurs
's'il existe
'Effacement de TEST
'Lancement de la macro
'Sinon, arrêt |
A retenir : SET nom de variable (objet Range), le test de
l'existence Not Variable Is Nothing et l'effacement de la cellule trouvée =Empty.
Cette macro, mise dans le module de la feuille concernée, se déclenche à chaque
changement de sélection d'où la nécessité d'effacer la valeur déclenchante. |

Empêcher l'impression d'une feuille |
Problème : Eviter que la feuille appelée "Toto"
soit imprimée |
Macro |
Commentaire |
Private Sub Workbook_BeforePrint(Cancel As
Boolean)
For Each Feuille In ThisWorkbook.Windows(1).SelectedSheets
If Feuille.Name = "Toto" Then
Cancel = True
Exit Sub
End If
Next
End Sub |
'Le test s'effectue sur toutes les feuilles sélectionnées
'si une porte le nom "toto"
'on imprime pas
'et on sort de la procédure |
A retenir : L'évenement du classeur Workbook_BeforePrint, la
désactivation de l'évenement (ici l'impression) : Cancel = True, le test sur toutes les
feuilles sélectionnées et non la seule feuille active :ThisWorkbook.Windows(1).SelectedSheets |

|