Macro qui se lance si on modifie une cellule

  • Initiateur de la discussion Initiateur de la discussion clav
  • 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 !

clav

XLDnaute Nouveau
Bonjour,

Je bute toujours autour du meme probleme...
Je souhaite lancer une macro si on modifie la cellule D1 ou E3 de n'importe quelle feuille dont le nom est compris en 0 et 9999.

Pour le moment j'ai dans Thisworkbook le code suivant :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If IsNumeric(Sh.Name) And Val(Sh.Name) >= 0 And Val(Sh.Name) <= 9999 Then
Call macro1
End If
End Sub

Ce code me permet de lancer la macro lorsque je modifie une des feuilles dont le nom est compris entre 0 et 9999. Mais je n'arrive pas a faire en sorte que seul une modification des cellules D1 ou E3 d'une de ces feuilles lance la macro.

Merci de votre aide!

clav
 
Re : Macro qui se lance si on modifie une cellule

coucou,

je pense que ça doit être ça :
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    If IsNumeric(Sh.Name) And Val(Sh.Name) >= 0 And Val(Sh.Name) <= 9999 And _
            (Target.Address(False, False) = "D1" Or Target.Address(False, False) = "E3") Then
        Call Macro1
    End If
End Sub
😀
 
Re : Macro qui se lance si on modifie une cellule

Hello,

Merci pour vos réponses, ca fonctionne.
Effectivement j'aurais du continuer sur le meme fil, désolé.

Encore une petite requete... je pensais arriver a le faire moi-meme avec votre réponse, mais mes connaissances en syntaxe Vb sont vraiment trop faible!
Donc : Je souhaite que la macro se lance également lorsque la cellule C25 de la feuille nommée "admin" est modifiée
Merci
 
Re : Macro qui se lance si on modifie une cellule

J'ai reussi.

C'est assez peu orthodoxe et il doit y avoir moyen de faire plus simple, mais c a fonctionne :

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If IsNumeric(Sh.Name) And Val(Sh.Name) >= 0 And Val(Sh.Name) <= 9999 And _
(Target.Address(False, False) = "D15" Or Target.Address(False, False) = "I9") Then
Call sum_size
Call sum_balance
ElseIf Sh.Name = "admin" And _
(Target.Address(False, False) = "C25") Then
Call sum_size
Call sum_balance
End If
End Sub

Merci pour votre aide
A bientot
clav
 
- 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

Retour