Je voudrais que, quand une donnée change ou est inscrite dans la colonne D,
à partir de la ligne 4, une macro s'exécute une seule fois.
Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
--
Salut
Michel ---- ;o)
Enlever _nospam pour me répondre
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
LSteph
Bonjour, Pour le une suele fois (à raison de quelle période) Sinon exemple : '********* Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Range("d4:d65536"), Target) If isect Is Nothing Then Exit Sub ''' MsgBox "bonjour" ''' End Sub '********
lSteph
"MichelB" a écrit dans le message de news: %2378BLJU%
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois. Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
-- Salut Michel ---- ;o) Enlever _nospam pour me répondre
Bonjour,
Pour le une suele fois (à raison de quelle période)
Sinon exemple :
'*********
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range
Set isect = Intersect(Range("d4:d65536"), Target)
If isect Is Nothing Then Exit Sub
'''
MsgBox "bonjour"
'''
End Sub
'********
lSteph
"MichelB" <m.bedain_nospam@free.fr> a écrit dans le message de news:
%2378BLJU%23EHA.2076@TK2MSFTNGP15.phx.gbl...
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne
D, à partir de la ligne 4, une macro s'exécute une seule fois.
Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
--
Salut
Michel ---- ;o)
Enlever _nospam pour me répondre
Bonjour, Pour le une suele fois (à raison de quelle période) Sinon exemple : '********* Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Range("d4:d65536"), Target) If isect Is Nothing Then Exit Sub ''' MsgBox "bonjour" ''' End Sub '********
lSteph
"MichelB" a écrit dans le message de news: %2378BLJU%
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois. Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
-- Salut Michel ---- ;o) Enlever _nospam pour me répondre
MichelB
Désolé LStef, mais quand j'entre une donnée en D200, par exemple, le message Bonjour ne s'affiche pas !
"LSteph" a écrit dans le message de news: ua2lVYU%
Bonjour, Pour le une suele fois (à raison de quelle période) Sinon exemple : '********* Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Range("d4:d65536"), Target) If isect Is Nothing Then Exit Sub ''' MsgBox "bonjour" ''' End Sub '********
lSteph
"MichelB" a écrit dans le message de news: %2378BLJU%
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois. Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
-- Salut Michel ---- ;o) Enlever _nospam pour me répondre
Désolé LStef, mais quand j'entre une donnée en D200, par exemple, le message
Bonjour ne s'affiche pas !
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
ua2lVYU%23EHA.3616@TK2MSFTNGP11.phx.gbl...
Bonjour,
Pour le une suele fois (à raison de quelle période)
Sinon exemple :
'*********
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range
Set isect = Intersect(Range("d4:d65536"), Target)
If isect Is Nothing Then Exit Sub
'''
MsgBox "bonjour"
'''
End Sub
'********
lSteph
"MichelB" <m.bedain_nospam@free.fr> a écrit dans le message de news:
%2378BLJU%23EHA.2076@TK2MSFTNGP15.phx.gbl...
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne
D, à partir de la ligne 4, une macro s'exécute une seule fois.
Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
--
Salut
Michel ---- ;o)
Enlever _nospam pour me répondre
Désolé LStef, mais quand j'entre une donnée en D200, par exemple, le message Bonjour ne s'affiche pas !
"LSteph" a écrit dans le message de news: ua2lVYU%
Bonjour, Pour le une suele fois (à raison de quelle période) Sinon exemple : '********* Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Range("d4:d65536"), Target) If isect Is Nothing Then Exit Sub ''' MsgBox "bonjour" ''' End Sub '********
lSteph
"MichelB" a écrit dans le message de news: %2378BLJU%
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois. Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
-- Salut Michel ---- ;o) Enlever _nospam pour me répondre
ChrisV
Bonjour Michel,
Avec la plage de cellules D4:D65536 nommée ici Zn, dans la feuille de code de l'onglet concerné:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(ActiveCell, Range("Zn")) Is Nothing Then _ MsgBox "MPFE..." End Sub
ChrisV
"MichelB" a écrit dans le message de news: %2378BLJU%
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois. Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
-- Salut Michel ---- ;o) Enlever _nospam pour me répondre
Bonjour Michel,
Avec la plage de cellules D4:D65536 nommée ici Zn,
dans la feuille de code de l'onglet concerné:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(ActiveCell, Range("Zn")) Is Nothing Then _
MsgBox "MPFE..."
End Sub
ChrisV
"MichelB" <m.bedain_nospam@free.fr> a écrit dans le message de news:
%2378BLJU%23EHA.2076@TK2MSFTNGP15.phx.gbl...
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne
D, à partir de la ligne 4, une macro s'exécute une seule fois.
Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
--
Salut
Michel ---- ;o)
Enlever _nospam pour me répondre
Avec la plage de cellules D4:D65536 nommée ici Zn, dans la feuille de code de l'onglet concerné:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Not Intersect(ActiveCell, Range("Zn")) Is Nothing Then _ MsgBox "MPFE..." End Sub
ChrisV
"MichelB" a écrit dans le message de news: %2378BLJU%
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois. Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
-- Salut Michel ---- ;o) Enlever _nospam pour me répondre
AV
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois.
Dans le module de ThisWorkbook :
Private Sub Workbook_Open() x = 0 End Sub
Dans le module de la feuille :
Public x
Private Sub Worksheet_Change(ByVal zz As Range) If zz.Column <> 4 And zz.Row < 4 Then Exit Sub x = x + 1 laMacro End Sub
Sub laMacro() If x <> 1 Then Exit Sub MsgBox "zzzzzzzzzz" End Sub
AV
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D,
à partir de la ligne 4, une macro s'exécute une seule fois.
Dans le module de ThisWorkbook :
Private Sub Workbook_Open()
x = 0
End Sub
Dans le module de la feuille :
Public x
Private Sub Worksheet_Change(ByVal zz As Range)
If zz.Column <> 4 And zz.Row < 4 Then Exit Sub
x = x + 1
laMacro
End Sub
Sub laMacro()
If x <> 1 Then Exit Sub
MsgBox "zzzzzzzzzz"
End Sub
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois.
Dans le module de ThisWorkbook :
Private Sub Workbook_Open() x = 0 End Sub
Dans le module de la feuille :
Public x
Private Sub Worksheet_Change(ByVal zz As Range) If zz.Column <> 4 And zz.Row < 4 Then Exit Sub x = x + 1 laMacro End Sub
Sub laMacro() If x <> 1 Then Exit Sub MsgBox "zzzzzzzzzz" End Sub
AV
LSteph
Bonsoir Michel, vérifie que tu as placé cette sub dans le code de feuille et non un module standard. il n'y a pas de raison pour qu'elle ne fonctione pas chez toi.
Sinon pour le "une seule fois", précaution: si la macro appelée agit sur la colonne D tu vas redéclancher l'évènement change aussi, il faut les désactiver avant et réactiver après,ainsi:
'********* Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Range("d4:d65536"), Target) If isect Is Nothing Then Exit Sub Application.EnableEvents = False Call mamacro Application.EnableEvents = True End Sub '******** 'lSteph
"MichelB" a écrit dans le message de news: e9kBv0U%
Désolé LStef, mais quand j'entre une donnée en D200, par exemple, le message Bonjour ne s'affiche pas !
"LSteph" a écrit dans le message de news: ua2lVYU%
Bonjour, Pour le une suele fois (à raison de quelle période) Sinon exemple : '********* Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Range("d4:d65536"), Target) If isect Is Nothing Then Exit Sub ''' MsgBox "bonjour" ''' End Sub '********
lSteph
"MichelB" a écrit dans le message de news: %2378BLJU%
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois. Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
-- Salut Michel ---- ;o) Enlever _nospam pour me répondre
Bonsoir Michel,
vérifie que tu as placé cette sub dans le code de feuille et non un module
standard.
il n'y a pas de raison pour qu'elle ne fonctione pas chez toi.
Sinon pour le "une seule fois", précaution:
si la macro appelée agit sur la colonne D tu vas redéclancher
l'évènement change aussi, il faut les désactiver avant et réactiver
après,ainsi:
'*********
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range
Set isect = Intersect(Range("d4:d65536"), Target)
If isect Is Nothing Then Exit Sub
Application.EnableEvents = False
Call mamacro
Application.EnableEvents = True
End Sub
'********
'lSteph
"MichelB" <m.bedain_nospam@free.fr> a écrit dans le message de news:
e9kBv0U%23EHA.2104@TK2MSFTNGP14.phx.gbl...
Désolé LStef, mais quand j'entre une donnée en D200, par exemple, le
message Bonjour ne s'affiche pas !
"LSteph" <lecocosteph@frite.fr> a écrit dans le message de news:
ua2lVYU%23EHA.3616@TK2MSFTNGP11.phx.gbl...
Bonjour,
Pour le une suele fois (à raison de quelle période)
Sinon exemple :
'*********
Private Sub Worksheet_Change(ByVal Target As Range)
Dim isect As Range
Set isect = Intersect(Range("d4:d65536"), Target)
If isect Is Nothing Then Exit Sub
'''
MsgBox "bonjour"
'''
End Sub
'********
lSteph
"MichelB" <m.bedain_nospam@free.fr> a écrit dans le message de news:
%2378BLJU%23EHA.2076@TK2MSFTNGP15.phx.gbl...
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne
D, à partir de la ligne 4, une macro s'exécute une seule fois.
Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
--
Salut
Michel ---- ;o)
Enlever _nospam pour me répondre
Bonsoir Michel, vérifie que tu as placé cette sub dans le code de feuille et non un module standard. il n'y a pas de raison pour qu'elle ne fonctione pas chez toi.
Sinon pour le "une seule fois", précaution: si la macro appelée agit sur la colonne D tu vas redéclancher l'évènement change aussi, il faut les désactiver avant et réactiver après,ainsi:
'********* Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Range("d4:d65536"), Target) If isect Is Nothing Then Exit Sub Application.EnableEvents = False Call mamacro Application.EnableEvents = True End Sub '******** 'lSteph
"MichelB" a écrit dans le message de news: e9kBv0U%
Désolé LStef, mais quand j'entre une donnée en D200, par exemple, le message Bonjour ne s'affiche pas !
"LSteph" a écrit dans le message de news: ua2lVYU%
Bonjour, Pour le une suele fois (à raison de quelle période) Sinon exemple : '********* Private Sub Worksheet_Change(ByVal Target As Range) Dim isect As Range Set isect = Intersect(Range("d4:d65536"), Target) If isect Is Nothing Then Exit Sub ''' MsgBox "bonjour" ''' End Sub '********
lSteph
"MichelB" a écrit dans le message de news: %2378BLJU%
Bonjour à tous
Je voudrais que, quand une donnée change ou est inscrite dans la colonne D, à partir de la ligne 4, une macro s'exécute une seule fois. Je n'arive pas à maitriser Intersect ou not.intersect.
Une idée ?
Merci de votre réponse
-- Salut Michel ---- ;o) Enlever _nospam pour me répondre