Activer juste une partie des cases excel

Résolu
taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007 - 2 juil. 2007 à 14:29
taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007 - 2 juil. 2007 à 15:19
Bonjour,
afin de lancer une procédure quand je clique sur les cellule de ma page excel, j'utilise une variable Target as Range qui est ensuite utilisée dans la procédure.

Par contre j'aimerais que la procédure ne se lance pas quand je clique sur n'importe qu'elle cellule mais juste sur une zone définie : H11 à DD300

Afin de limité cette  zone, j'écris :
If  Target.Row "11" Or Target.Row "12" Then
cela me lance ma procédure que lorsque je clique sur des cellules de la logne 11 ou 12,  mais je dois aller jusqu'à la ligne 300 et je ne me vois pas écrire des centaine de fois Target.Row ="X"

j'ai essayé un truc du genre Target.Row > "11" ou Target.Row = "11:300" mais ca ne marche pas
quelqu'un a t'il une idée?
de même pour les colonnes, Target.Column "H" (ceci ne marche pas) , Target.Column "H:DD" (???)

J'espère que c'est pas trop confus, si quelqu'un a une idée......

Merci d'avance !

@+

Je viens de découvrir le bonheur de programmer et le VB me le rend bien

3 réponses

jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
2 juil. 2007 à 14:47
Salut,
Pas très propre mais tu peux t'en sortiur ainsi normalement

If (Target.Row >= 11) And (Target.Row <= 300) Then   'Colonne H 8 DD 108
   If (Target.Column >= 8) And (Target.Column <= 108) Then
       'ICI ta CELLULE EST DANS LA ZONE H11 DD300 normalement
       
   End If
End If , ----
[code.aspx?ID=41455 By Renfield]

NOTE: Row et Column ne sont pas des String donc inutile lors de la comparaison de mettre "11"

@+: Ju£i?n
Pensez: Réponse acceptée
3
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
2 juil. 2007 à 15:05
Tu peux aussi utilier Intersect

    Dim Plage As Range
   
    Set Plage = Application.Intersect(Target, Range("H11:DD300"))
    If Plage Is Nothing Then
        MsgBox "En dehors"
    Else
        MsgBox "OK"
    End If

MPi
3
taj88 Messages postés 113 Date d'inscription mercredi 9 mai 2007 Statut Membre Dernière intervention 28 août 2007
2 juil. 2007 à 15:19
Merci à vous deux ca marche nickel.......

Je viens de découvrir le bonheur de programmer et le VB me le rend bien
0
Rejoignez-nous