Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Identification d'une cellule cliquée

dadu35

XLDnaute Nouveau
Bonjour,

j'ai créé une routine permettant d'identifier une cellule cliquée (NoLig, NoCol), et alors
de valoriser la cellule (NoLig, NoCol + 40)
- à la valeur "1" si cellule (NoLig, NoCol + 40) = 0
- à la valeur "0" si cellule (NoLig, NoCol + 40) = 1 .

Cela fonctionne correctement, par contre si je clique une seconde fois d'affilé sur la cellule, la cellule(NoLig, NoCol + 40) ne change pas de valeur.

Pourriez-vous m'éclairer, je bloque ?

Merci
Cordialement
Daniel

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    Dim LigneFin As Integer
    Dim NoLig As Single, NoCol As Single, NoCol1 As Single
    
    If Not Intersect(Range("B1:AF2"), Target) Is Nothing Then
        Target.Offset(0, 1).Select
    End If

    LigneFin = Sheets("Feuil2").Range("A60").End(xlUp).Row

    If ActiveCell.Row < (LigneFin + 1) Then
        If ActiveCell.Row > 2 Then
            If (ActiveCell.Column > 1 And ActiveCell.Column < 33) Then
                NoLig = ActiveCell.Row
                NoCol = ActiveCell.Column
                NoCol1 = NoCol + 40
                If Cells(NoLig, NoCol1).Value = 1 Then
                    Cells(NoLig, NoCol1).Value = 0
                Else
                    Cells(NoLig, NoCol1).Value = 1
                End If
                ActiveSheet.Unprotect
                ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
            End If
        End If
    End If
    
End Sub
 

job75

XLDnaute Barbatruc
Bonjour dadu35,

Enlevez ActiveSheet.Protect ça empêche de tester...

Pour le reste du code aucun problème, sur Feuil2 :

- j'ai mis aaa en A20 pour délimiter
- j'ai sélectionné B15 => AP15 prend la valeur 1
- j'ai sélectionné B16 => AP16 prend la valeur 1
- j'ai sélectionné B15 => AP15 prend la valeur 0
- j'ai sélectionné B16 => AP16 prend la valeur 0.

A+
 

dadu35

XLDnaute Nouveau
Bonjour Job35,
Cela fonctionne bien pour ton test.
Lorsque que je fais
clic sur B15 => AP15 prend la valeur 1 : c'est OK
ensuite je ne peux pas cliquer à nouveau sur B15.
Donc si je fais une erreur de cellule en cliquant, je ne peux pas rectifier dans la foulée.
C'est le sens de mon problème.
Cdt
Daniel
 

dadu35

XLDnaute Nouveau
Bonjour,

j'avais testé cette solution sans succès.
Dans mon exposé je me suis mal exprimé.
Ma démarche est
- je clique sur une cellule B1, elle devient colorée en rouge.
- je constate m'être trompé de cellule
- étant toujours positionné sur cette cellule B1, je veux cliquer à nouveau pour qu'elle revienne à son état initial, c'est-à-dire colorée en blanc.
=> Cela ne fonctionne pas.

Pour faire en sorte qu'elle redevienne en blanc alors qu'elle est passée en rouge, je dois
- cliquer sur une cellule autre (par exemple B2),
- revenir B1
- puis cliquer.

Je ne trouve pas la solution.

Cdt

Daniel
 

fanch55

XLDnaute Barbatruc
Pour faire en sorte qu'elle redevienne en blanc alors qu'elle est passée en rouge, je dois
- cliquer sur une cellule autre (par exemple B2),
- revenir B1
- puis cliquer.
Bonjour @dadu35 ,
C'est le fonctionnement normal d'excel :
il n'y a pas d'event Clic sur une cellule, seul le Worksheet_SelectionChange qui ne se déclenche que si on change vraiment de cellule .
Le palliatif, c'est de forcer la sélection d' une autre cellule "neutre" en sortie de sub .
(Bonjour @job75 )
 

Discussions similaires

Réponses
5
Affichages
119
Réponses
1
Affichages
285
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…