Macro qui se lance si on modifie une cellule

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
 

Kobaya

XLDnaute Occasionnel
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
:D
 

clav

XLDnaute Nouveau
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
 

clav

XLDnaute Nouveau
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
 

Discussions similaires

Statistiques des forums

Discussions
312 497
Messages
2 088 988
Membres
104 000
dernier inscrit
dinelcia