• Initiateur de la discussion Initiateur de la discussion Mathieu
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

M

Mathieu

Guest
bonjour à tous,
comment doit je faire pour que ma macro ne soit executable que pour une certaine plage de cellules definie au départ?

merci d'avance.
 
Bonjour Mathieu,

En fait, je ne sais pas si cela répond à ta question, mais tu peux mettre

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = '$C$1' Then Call MaMacro
End Sub

dans ta feuille.

Elle ne se déclenchera que si l'utilisateur change la valeur de la cellule C1.

Papaye
 
bonjour Mathieu
bonjour Papaye

pour une plage complete ici A1😀10

Private Sub Worksheet_Change(ByVal Target As Range)
Set isect = Application.Intersect(Range('A1😀10'), Target)
If Not isect Is Nothing Then
Call Mamacro
End If
End Sub
 
Bonsoir Mathieu, bonsoir Papaye, bonsoir PierreJean,
bonsoir à toutes et à tous 🙂

Une autre possibilité de comprendre ta question :

- si tu as enregistré ta macro, tu dois avoir les références des cellules. Par exemple une instruction en début de macro du genre range('A1:A10').select puis les autres instructions utilisent Selection.Méthode ou Selection.Propriété.

Il te suffit d'enlever toutes les références à Range('A1:A10') et de travailler sur la sélection en cours par des instructions Selection.BlaBla

Bonne soirée 😉
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
21
Affichages
480
Réponses
9
Affichages
509
Retour