déclararition de macro evenementielle
Le
JP

Bonjour les assidus,
Je voudrais que la macro nommee demission se déclenche des lors qu'une de=
s cellules F10:F34 de la sheets("suivi de cohorte") est modifiee.
Qu'elle sera alors la formulation de la macro evenementielle?
Merci
JP
Je voudrais que la macro nommee demission se déclenche des lors qu'une de=
s cellules F10:F34 de la sheets("suivi de cohorte") est modifiee.
Qu'elle sera alors la formulation de la macro evenementielle?
Merci
JP
Cela pourrait être...
'--------------
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [F10:F34]) Is Nothing Then
Application.EnableEvents = False
Call demission
Application.EnableEvents = True
End If
End Sub
'---------------
A placer dans le module de la feuille "suivi de cohorte"
Clique droit sur l'onglet de la feuille ==>Visualiser le code (coller le code ci-dessus)
--
Salutations
JJ
"JP"
Bonjour les assidus,
Je voudrais que la macro nommee demission se déclenche des lors qu'une des cellules F10:F34 de la
sheets("suivi de cohorte") est modifiee.
Qu'elle sera alors la formulation de la macro evenementielle?
Merci
JP
Merci, le test est concluant.
Dommage que tu sois si loin :-), je prendrais des cours.
Merci encore
JP
Est ce qu'il est possible de mettre deux plages comme par exemple:
[F10:F33]
[B10:B33]
Dans la ligne:
If Not Intersect(Target, [F10:F3]) Is Nothing Then
Ou faut il faire deux macros?
Merci de tes lumières
JP
Une façon de faire : À copier dans le module de la feuille.
'---------------------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Rg As Range, C As Range
Set Rg = Intersect(Target, Union(Range("F10:F33"), Range("B10:B33")))
If Not Rg Is Nothing Then
Application.EnableEvents = False
For Each C In Rg
Call Traitement(C)
Next
Application.EnableEvents = True
End If
End Sub
'---------------------------------------------------------------
Sub Traitement(Plg As Range)
'Plg représente chacune des cellules qui ont
'été modifiées dans ladite plage de cellules définies.
'Le code du traitement à effecteur pour chacune des cellules.
End Sub
'---------------------------------------------------------------
MichD
---------------------------------------------------------------
Ca marche!!
Merci beaucoup.
JP
Remplace
If Not Intersect(Target, [F10:F34]) Is Nothing Then
par
If Not Intersect(Target, Union([F10:F33], [B10:B33])) Is Nothing Then
--
Salutations
JJ
"JP"
Re
Est ce qu'il est possible de mettre deux plages comme par exemple:
[F10:F33]
[B10:B33]
Dans la ligne:
If Not Intersect(Target, [F10:F3]) Is Nothing Then
Ou faut il faire deux macros?
Merci de tes lumières
JP
Je n'ai pas compris le "pourquoi" de la boucle
La demande est <<déclenchement de la macro si modif dans la plage>>(f10:f33 et b10:b33)
--
Salutations
JJ
"MichD"
Qu'est-ce qui se passe si l'usager supprime plus d'une
cellule simultanément dans la plage de cellules? Tu traites
seulement la première cellule ou toutes les cellules?
MichD
--------------------------------------------------------------
Je me suis pose la même question(à mon niveau :-))et je l'ai supprimee aussi.
Il est preferable de la laisser alors!?
JP