Annuler un événement selection_change

Joelatack Messages postés 8 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 4 octobre 2013 - 14 juin 2012 à 15:40
Joelatack Messages postés 8 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 4 octobre 2013 - 14 juin 2012 à 16:43
Salut à tous,

J'aurai voulu savoir s'il existait une méthode pour annuler la séléction de l'utilisateur.
Par exemple pour l'évenement Worksheet_change, on peut utiliser application.undo pour revenir en arrière.

Existe-t-il quelque chose de similaire pour que la cellule active reste celle d'avant la séléction.
(je suis pas sûr que je sois très clair, mais en gros j'ai mis des conditions dans mon selection_change et je voudrais que si ces conditions ne sont pas respectées, alors l'utilisateur ne peux pas sélectionner une autre cellule.

Merci d'avance.

3 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
14 juin 2012 à 16:02
Salut,

un exemple à adapter :

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    If Target.Cells.Count = 1 Then
        If Not PrevCell Is Nothing Then
            If Intersect(Target, PrevCell) Is Nothing Then
                If Not PrevCell.Value = 1 Then PrevCell.Select
            End If
        Else
           Set PrevCell = Target
        End If
    End If
End Sub


A+
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
14 juin 2012 à 16:32
oups j'ai oublier de te dire d'ajouter à ton projet une variable public :

à mettre en haut d'un module:

Public PrevCell as Range


A+
0
Joelatack Messages postés 8 Date d'inscription vendredi 24 juillet 2009 Statut Membre Dernière intervention 4 octobre 2013
14 juin 2012 à 16:43
Nickel Merci.

J'ai juste adapter un peu car en déclarant PrevCell de type range et en utilisant PrevCell.Select j'avais une erreur.

Du coup j'ai déclaré PrevCell de type String et j'ai utilisé
Application.goto MaFeuille.range(PrevCell)


Voila merci a+
0
Rejoignez-nous