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

Target ?

5 réponses
Avatar
ManBas
Bonjour à tous,
Comment écrire plus simplement:
If Target.Column = 2 And (Target.Row = 10 Or Target.Row = 11 Or
Target.Row = 12 Or Target.Row = 13 Or Target.Row = 14) Then ...
...que la plage de cellules concernée pour le déclenchement de la macro est
la plage B10:B14 ?
Merci d'avance.

5 réponses

Avatar
Daniel
Bonsoir.
If Target.Column = 2 And Target.Row > 10 And Target.Row < 15 Then...
ou
If Not Intersect(Target, Range("B10:B14")) is Nothing Then
Cordialement.
Daniel

"ManBas" a écrit dans le message de news:

Bonjour à tous,
Comment écrire plus simplement:
If Target.Column = 2 And (Target.Row = 10 Or Target.Row = 11 Or
Target.Row = 12 Or Target.Row = 13 Or Target.Row = 14) Then ...
...que la plage de cellules concernée pour le déclenchement de la macro
est la plage B10:B14 ?
Merci d'avance.



Avatar
ManBas
Bien sur...
Merci beaucoup.

"Daniel" a écrit dans le message de news:

Bonsoir.
If Target.Column = 2 And Target.Row > 10 And Target.Row < 15 Then...
ou
If Not Intersect(Target, Range("B10:B14")) is Nothing Then
Cordialement.
Daniel

"ManBas" a écrit dans le message de news:

Bonjour à tous,
Comment écrire plus simplement:
If Target.Column = 2 And (Target.Row = 10 Or Target.Row = 11 Or
Target.Row = 12 Or Target.Row = 13 Or Target.Row = 14) Then ...
...que la plage de cellules concernée pour le déclenchement de la macro
est la plage B10:B14 ?
Merci d'avance.








Avatar
LSteph
Bonsoir Manbas,
exemple:

Private Sub Worksheet_Change( ByVal target as Range)
Dim iSect as range, c as range
Set iSect=intersect(Target, [b10:b14])
if iSect is nothing then exit sub
Application.EnableEvents = False
Call mamacro
Application.EnableEvents = True
End Sub

'Cdlt.

'lSteph
Bonjour à tous,
Comment écrire plus simplement:
If Target.Column = 2 And (Target.Row = 10 Or Target.Row = 11 Or
Target.Row = 12 Or Target.Row = 13 Or Target.Row = 14) Then ...
...que la plage de cellules concernée pour le déclenchement de la macro est
la plage B10:B14 ?
Merci d'avance.




Avatar
AH60
Bonsoir

Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, Range("$B$10:$B$14")) Is Nothing Then Exit Sub
ta macro
End Sub

Abed_H



Bonjour à tous,
Comment écrire plus simplement:
If Target.Column = 2 And (Target.Row = 10 Or Target.Row = 11 Or
Target.Row = 12 Or Target.Row = 13 Or Target.Row = 14) Then ...
....que la plage de cellules concernée pour le déclenchement de la macro est
la plage B10:B14 ?
Merci d'avance.





Avatar
LSteph
...pourquoi tant de précautions, exemple:

Private Sub Worksheet_Change( ByVal target as Range)
Dim iSect as range, c as range
Set iSect=intersect(Target, [b10:b14])
if iSect is nothing then exit sub
Application.EnableEvents = False
For each c in iSect.cells
if not isempty(c) then
c.offset(0,1)=Format(now,"dd/mm/yyyy")
end if
next
Application.EnableEvents = True
End Sub

1-iSect , pourquoi créer un range?

on défini le range correspondant à l'intersection
ainsi on traite l'intersection cellule par cellule
ce qui per et d'assure la bonne réaction (ciblée) de l'événement en cas de
sélection multiple

2-Application.EnableEvents = False
qd une macro événementielle est utilisée pour déclancher une macro ou
modifier des cellules
mieux vaut désactiver les événements, cela évite de boucler sans fin.

Cordialement.

lSteph

Bonjour à tous,
Comment écrire plus simplement:
If Target.Column = 2 And (Target.Row = 10 Or Target.Row = 11 Or
Target.Row = 12 Or Target.Row = 13 Or Target.Row = 14) Then ...
...que la plage de cellules concernée pour le déclenchement de la macro est
la plage B10:B14 ?
Merci d'avance.