Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Questions les plus fréquentes (FAQ) et didacticiels > [VBA]Les macros événementielles
Vous inscrire
S'inscrire FAQ Membres Calendrier Recherche Messages du jour Marquer les forums comme lus


Réponse
 
LinkBack Outils de la discussion
Vieux 23/10/2007, 21h28   #1 (permalink)
FAQ XLD
XLDnaute Nouveau
 
Date d'inscription: septembre 2007
Messages: 16
Par défaut [VBA]Les macros événementielles

Cette rubrique sera alimentée j'espère régulièrement. Voici pour débuter.
__________________________________________________ ___________

Pour tous les codes à venir il faut

1 - Ouvrir VBE (Alt + F11)

2 - Se placer sur le projet VBA du classeur
C'est du style : VBAProject(Classeur1)
Si la fenêtre des projets n'est pas visible, il suffit de cliquer sur le menu Affichage > Explorateur de projets.

3 - Dans les exemples donnés, il y aura juste un affichage d'une msgbox
__________________________________________________ ___________

1 - Evènements du classeur
Le code doit se trouver dans le "ThisWorkbook"

1.1 - A l'ouverture du classeur

Code:
Private Sub Workbook_Open()
MsgBox "Merci d’avoir ouvert ce fichier"
End Sub
1.2 - A la fermeture du classeur

Code:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
MsgBox "A BIENTOT, merci d’avoir consulté le fichier"
End Sub
__________________________________________________ __________

2 - Evènements d'une feuille
Le code doit se trouver dans le code de la feuille concernée

2.1 - Quand on clique sur la cellule "A1" uniquement

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1")) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub
2.2 - Quand on clique n'importe où dans la colonne "A" uniquement

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A")) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub
2.3 - Quand on clique n'importe où dans les colonne "A" à "E" uniquement

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:E")) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub
2.4 - Quand on clique n'importe où dans la Plage de "A1 à A10" uniquement

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:A10")) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub
2.5 - Quand on clique n'importe où dans plusieurs plages non-adjacentes

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A1:A12, D4:D10, D20, D22, D55, E1:E12")) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub
2.6 - Quand on clique n'importe où dans plusieurs colonnes non-contigues

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range("A:A, C:C, E:E")) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub 
2.7 - Quand on clique n'importe où dans la ligne 1

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Rows(1)) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub
2.8 - Quand on clique n'importe où entre les lignes 1 et 3

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range(Rows(1), Rows(3))) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End Sub
2.9 - Quand on clique n'importe où dans dans les lignes 1 ou 3 uniquement (pas la 2)

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Application.Intersect(Target, Range(Rows(1), Rows(3))) Is Nothing Then
If Application.Intersect(Target, Rows(2)) Is Nothing Then
MsgBox "Click on " & Target.Address
End If
End If
End Sub
__________________________________________________ ___________
Merci à Brigitte, Skoobi et Thierry pour leurs participations

Dernière modification par David XLD 24/01/2008 à 16h34.
FAQ XLD est déconnecté   Réponse avec citation
ANNONCES
Réponse



Outils de la discussion

Règles de messages
Vous pouvez ouvrir de nouvelles discussions : nonoui
Vous pouvez envoyer des réponses : nonoui
Vous pouvez insérer des pièces jointes : nonoui
Vous pouvez modifier vos messages : nonoui

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Discussions similaires
Discussion Auteur Forum Réponses Dernier message
jumelage de 2 macros evènementielles Jouxte Forum Excel 0 28/11/2006 22h23
Compil de macros événementielles criscris11 Forum Excel 3 01/11/2006 00h21
créer 2 macros evenementielles de meme type sur le workbook?? Tonino7 Forum Excel 14 09/07/2006 09h52
2 macros évènementielles??? Jacques Forum Excel Downloads - Archives 2 04/02/2005 23h56
Macros Evenementielles Vincent Forum Excel Downloads - Archives 0 13/10/2004 18h27


Fuseau horaire GMT +2. Il est actuellement 04h51.


(C) 2006 Excel Downloads