Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

déclararition de macro evenementielle

15 réponses
Avatar
JP
Bonjour les assidus,

Je voudrais que la macro nommee demission se d=E9clenche 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

10 réponses

1 2
Avatar
Jacky
Bonjour,
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" a écrit dans le message de news:

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
Avatar
JP
Le dimanche 16 décembre 2012 11:45:23 UTC+1, JP a écrit :
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
Avatar
JP
Bonjour Jacky,

Merci, le test est concluant.
Dommage que tu sois si loin :-), je prendrais des cours.

Merci encore

JP
Avatar
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
Avatar
MichD
Bonjour,

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
---------------------------------------------------------------
Avatar
JP
Bonjour Michel,

Ca marche!!

Merci beaucoup.

JP
Avatar
Jacky
Re..
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" a écrit dans le message de news:

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
Avatar
Jacky
Hello Denis,

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" a écrit dans le message de news: kaki6p$ktf$
Bonjour,

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

Avatar
MichD
Bonjour Jacky,

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
--------------------------------------------------------------
Avatar
JP
Denis, Jacky,
Je me suis pose la même question(à mon niveau :-))et je l'ai supprimee aussi.
Il est preferable de la laisser alors!?

JP
1 2