Sommaire
Excel Perfectionnement
Excel Graphique
Divers Excel
Excel Vba début
Complément VBA
Utilitaires
Gestion
(philosophie)
Gestion
(techniques)
Liens
Utilitaires en Vrac
Gfc Windows

écrivrez-moi !














 

 

 

Les évenements

 

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ébut                                         Sommaire

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.

début                                         Sommaire

 

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

début                                         Sommaire

Mesurez votre audience