XL 2010 Valoriser cellule par clic

dadu35

XLDnaute Nouveau
Bonjour,

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.
Ci-joint mon fichier

Cdt

Daniel

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("Feuil1").Range("A60").End(xlUp).Row

ActiveSheet.Unprotect

If ActiveCell.Row < (LigneFin + 1) Then
If ActiveCell.Row > 2 Then
If (ActiveCell.Column > 1 And ActiveCell.Column < 12 And ActiveCell.Column <> 6) Then
NoLig = ActiveCell.Row
NoCol = ActiveCell.Column
NoCol1 = NoCol + 20
If Cells(NoLig, NoCol1).Value = 1 Then
Cells(NoLig, NoCol1).Value = 0
Cells(NoLig, NoCol) = ""
Cells(NoLig, NoCol).Interior.ColorIndex = 2
Else
Cells(NoLig, NoCol1).Value = 1
Cells(NoLig, NoCol) = Cells(2, NoCol)
Cells(NoLig, NoCol).Interior.ColorIndex = 3
End If
End If
End If
End If

End Sub
 

Pièces jointes

  • HOrRésaBatiment_Salle1.xlsm
    18.6 KB · Affichages: 3

Phil69970

XLDnaute Barbatruc
Bonjour à tous

Utilise la balise </> à droite de l’icône GIF pour le code c'est plus lisible. (Copyright Sylvain) ;)
1711130526017.png


Je te propose ce fichier
Tu cliques dans la plage B3 K33 et tout se met à jour dans un sens puis dans l'autre !!!!
Et si tu ne veux que les 0 s'affiche (perso que je ne trouve pas beau) tu remplaces dans le code :
==> 1, 0, 1 par ==> 1, "", 1

Pour info j'ai mis les cellules
B3:E33 au format texte car sinon elles sont considérer comme une date par excel.

M
erci de ton retour
 

Pièces jointes

  • HOrRésaBatiment_Salle V1.xlsm
    19.7 KB · Affichages: 2

patricktoulon

XLDnaute Barbatruc
bonjour
perso je travaille directement avec la plage concernée sans avoir besoins d'une autre plage de stockage(0/1)
et on sélectionne tout de suite après une autre celle en dehors du chanp
comme ça on a la possibilité de relectionner la même cellule tout de suite après
et la plage ("T:AF") tu oublie !!

donc on fera comme ceci
1° on resize le intersect à 31 ligne a partir de la ligne 3 et sur 10 colonne( de 8h à 19h moins la colonne centrale
2° pour les mois à 30 jours ou 28 jours pour février , on testera si la colonne A contient une date sur la ligne cliquée

3°on sélectionne la cellule de l’entête après sélection pour avoir la possibilité de re sélectionner la même cellule

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Range("B3").Resize(31, 10), Target) Is Nothing And Target.Count = 1 And Target.Column <> 6 Then
       If Cells(Target.Row, 1) = "" Then Exit Sub
        If Target.Value = "" Then
            Target.Value = Cells(2, Target.Column).Value: Target.Interior.Color = vbRed
        Else
            Target.Interior.ColorIndex = xlColorIndexNone: Target.Value = ""
        End If
        Cells(2, Target.Column).Select
    End If
End Sub
 

Pièces jointes

  • HOrRésaBatiment_Salle1.xlsm
    17 KB · Affichages: 6

Statistiques des forums

Discussions
313 198
Messages
2 096 144
Membres
106 503
dernier inscrit
ngomez