Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

lancer une macro sur modif de cellule

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 !

Usine à gaz

XLDnaute Barbatruc
Bonjour à tous,
Je butte encore sur VBA.
Je souhaite que dans mon fichier joint, ma macri1 se lance automatiquement à chaque fois que l'une des cellules : C10:C30 est modifiée.
Evidemment, je ne sais comment faire.
Pourriez-vous m'aider ?
Je vous remercie par avance,
Amicalement,
Lionel,
 

Pièces jointes

Re : lancer une macro sur modif de cellule

Bonsoir.
Mettez en place dans le module de la feuille un modèle de Worksheet_Change à l'aide des listes déroulantes qui surmontent la fenêtre de code. Testez si l’intersection de la plage C10:C30 avec Target n'est pas rien, alors votre procédure ou son code.
Cordialement.
 
Re : lancer une macro sur modif de cellule

Qu'est ce que vous ne savez pas faire ?
Alt+F11 pour aller dans VBA
Sélectionnez dans l'explorateur de projet le module de la feuille (rubrique Microsoft Excel objets)
Sélectionner dans les listes déroulantes au dessus de de la fenêtre de code:
à gauche Objet: Worksheet, à droite Procédure: Change
C'est l'instruction à y mettre qui vous pose proplème ? Peut s'écrire comme ça :
VB:
If Not Intersect(Me.[C10:C30], Target) Is Nothing Then Macro1
À +
 
Re : lancer une macro sur modif de cellule

Re,
En cherchant les anciens sujets de discussion, j'ai trouvé cela :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("C10:C500")) Is Nothing Then
Macro1
End If
End Sub

ça marche super bien !

L'inconvénient est que l'exécution se fait "au clic" et ne me laisse pas changer la valeur de la cellule ou ne me laisse pas mettre une valeur dans la cellule.

Vous avez une petite modif ? cela m'arrangerait vraiment,
Amicalement,
Lionel,

________________________________________________________________________________

Bonjour,
J'ai certainement pas fait comme il faut..... rien ne se passe quand je modifie une cellule.
dsl, je suis ignorant en VBA.

voici ce que j'ai fait :

J'ai bien mis : à gauche Objet: Worksheet, à droite Procédure: Change

ensuite :


Amicalement,
Lionel,
 
Dernière édition:
Re : lancer une macro sur modif de cellule

Bonjour
Vérifiez que vous l'avez bien mis dans le module de la bonne feuille
Mettez un MsgBox "Toto" dans votre Macro1 pour être sûr
S'il ne s'exécute pas, joignez votre classeur en .xls s'il vous plait (la conversion chez moi laisse des plumes)
À +
 
Re : lancer une macro sur modif de cellule


Re,
En cherchant les anciens sujets de discussion, j'ai trouvé cela :





Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("C10:C500")) Is Nothing Then
Macro1
End If
End Sub ça marche super bien !

L'inconvénient est que l'exécution se fait "au clic" et ne me laisse pas changer la valeur de la cellule ou ne me laisse pas mettre une valeur dans la cellule.

Vous avez une petite modif ? cela m'arrangerait vraiment,
Amicalement,
Lionel,
 
Re : lancer une macro sur modif de cellule

Bonjour,

modifie peut être comme suit :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C10:C500")) Is Nothing Then
Macro1
End If
End Sub

bon après midi
@+
 
Re : lancer une macro sur modif de cellule

Re,

si ta "macro1" modifie les valeurs des cellules, pour ne pas boucler :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C10:C500")) Is Nothing Then
    Application.EnableEvents = False
    Macro1
    Application.EnableEvents = True
End If
End Sub
 
Re : lancer une macro sur modif de cellule

Ça revient exactement au même que ce que je vous ai indiqué.
Mais il faut le mettre dans une Worksheet_Change et non dans une Worksheet_SelectionChange

Bonjour Pierrot. Oui l'EnableEvent c'est en effet une bonne idée.
 
Dernière édition:
Re : lancer une macro sur modif de cellule

Bonsoir,
Un grand merci pour toutes vos réponses et si rapides..., vraiment vous êtes super !
J'ai fait ce code qui marche super bien :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C10:C500")) Is Nothing Then
Application.EnableEvents = False
Macro1
Application.EnableEvents = True
End If
End Sub

Cependant, il me reste un "lèger" problème.

Il se trouve que je dois ajouter ou supprimer quelques fois des lignes et la macro s'exécute alors que dans ces cas, je n'en ai pas besoin.

est-il possibler de neutraliser son action dans ces deux cas ?

D'avance merci de votre aide,
Amicalement,
Lionel,
 
Dernière édition:
Re : lancer une macro sur modif de cellule

Merci pour votre réponse mais ça ne fonctionne pas il bloque sur votre ligne en m'indiquant une erreur.
J'ai essayé de mettre votre ligne à tous les endroits dans le code mais..... rien à faire.
Amicalement,
Lionel,
 
Re : lancer une macro sur modif de cellule

Bonsoir


Comment as-tu écrit la suggestion de Dranreb?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If target.Count >1 Then Exit Sub
 If Not Intersect(Target, Range("C10:C500")) Is Nothing Then
     Application.EnableEvents = False
     Macro1
     Application.EnableEvents = True
 End If
 End Sub

ou comme cela ?
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Target.Count =1 And Not Intersect(Target, Range("C10:C500")) Is Nothing Then
      Application.EnableEvents = False
      Macro1
      Application.EnableEvents = True
  End If
  End Sub
 
Re : lancer une macro sur modif de cellule

Bonsoir,
Je l'ai écrit comme suit :
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("C10:C500")) Is Nothing Then
Application.EnableEvents = False
Macro1
Application.EnableEvents = True
End If
End Sub

Je vais essayer l'autre et je vous dis.

Amicalement,
Lionel,
 
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…