Macro événementielle dans une plage définit

Salut à tous

Je souhaiterais faire une macro événementielle qui s’exécute dans le cas suivant:

-Si ma sélection est comprise dans une plage de donnée définit le code s’exécute

-Si la sélection n'est pas complétement dans la plage définit alors le code ne se lance pas

-Si la sélection n'est pas dans la plage définit le code ne se lance pas

Ci- joint un fichier pour mieux comprendre :

Merci

edit : maj du classeur

Bonjour

Quelque chose du genre

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set plage = Application.InputBox("Quelle plage ?", Type:=8)
If plage.Column > 3 And plage.Column < 11 And plage.Row > 4 And plage.Row < 17 Then
MsgBox " Dans la Zone"
Else:
MsgBox " Pas dans la zone "
End If
End Sub

Edit ! Après test, ce code ne convient pas à 100 %

Amicalement

Nad

Merci Nad, c'est presque ca sauf que je ne souhaite pas avoir de question quand je sélectionne les cellules mais que cela se fasse directement

Je pense qu'il faut changer cette ligne de code

Set plage = Application.InputBox("Quelle plage ?", Type:=8)

En gros mettre une variable dans le genre ; ma sélection = plage

je sais pas si je suis clair !!

En tout cas merci pour la rapidité !

C'était tout bête

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Set plage = Selection
    If plage.Column > 3 And plage.Column < 11 And plage.Row > 3 And plage.Row < 17 Then
    MsgBox " Dans la Zone"
    Else:
    MsgBox " Pas dans la zone "
    End If
    End Sub

Merci beaucoup je marque en résolu !!

Re

J'enlève le RESOLU car tu n'as pas du lire mon edit mais le code ne fonctionne pas dans tous les cas.

Exemple : si la sélection démarre dans la zone mais se termine hors zone

Nad

Oups encore moi

Juste pour dire que si le coin en haut à gauche de la sélection n'est pas dans la zone "jaune" le code considère que ma sélection n'est pas dans la zone donc de ce coté là aucun problème

Par contre si le coin de la sélection est dans la zone jaune mais que le reste de la sélection n'est pas dans la zone jaune le code considère que la sélection complète est dans la zone alors qu'en fait ce n'est pas vrai, y a t'il une solution ?

Edit : Edit : j'avais pas vu ton message au dessus mais on en tire les même conclusions)

Re

Essaye avec celui-là :

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Set plage = Selection

DebutCol = Selection(1).Column
DebutLig = Selection(1).Row

FinCol = Selection(Selection.Count).Column
FinLig = Selection(Selection.Count).Row

If DebutCol > 3 And DebutCol < 11 And DebutLig > 4 And DebutLig < 17 _
And FinCol > 3 And FinCol < 11 And FinLig > 4 And FinLig < 17 Then
    MsgBox " Dans la Zone"
    Else:
    MsgBox " Pas dans la zone "
End If

End Sub

Nad

Bonjour à tous,

Une autre proposition

A+

Bonsoir Frangy

Ton code est bien plus simple.

Amicalement

Nad

Merci à tous les 2, effectivement le code de Frangy est plus simple mais c'est toujours bien d'avoir plusieurs solutions

Encore merci et bonne soirée !!

Rechercher des sujets similaires à "macro evenementielle plage definit"