Target ?

Le
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.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4265671
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"
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.



ManBas
Le #4265641
Bien sur...
Merci beaucoup.

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








LSteph
Le #4265601
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.




AH60
Le #4265451
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.





LSteph
Le #4265421
...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.




Publicité
Poster une réponse
Anonyme