XL 2010 Identification d'une cellule cliquée

  • Initiateur de la discussion Initiateur de la discussion dadu35
  • Date de début Date de début
  • Mots-clés Mots-clés
    vba

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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
 
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+
 
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+
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
 
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
 
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 )
 
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 )
Bonjour,
merci pour cette réponse, je vais mettre cela en place.
Cdt
Daniel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
549
Réponses
5
Affichages
237
Réponses
4
Affichages
177
Réponses
2
Affichages
201
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
479
Retour