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

Microsoft 365 Date masquée

mfb

XLDnaute Occasionnel
Bonjour le Forum,
Via un bouton les cellules comportant la date du 01/01/1970 (Col G) sont masquées en changeant la couleur de noir vers blanc. Cà c ok
Via Target et byval dans le code de la feuille et un clic sur une des dates masquées elle réapparait. Cà aussi C bon.
Pour un petit + peut-on par un nouveau clic la masquer de nouveau sans passer par le bouton ?
En Pj un petit fichier
Par avance merci pour votre aide.
Daniel
 

Pièces jointes

  • Sé Masque cellules-2.xlsm
    20.7 KB · Affichages: 6

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Dans le fichier joint, cela le fait. Il faut non pas 'cliquer' la cellule mais la re-sélectionner.
Personnellement, je mettrai ce code dans l'évènement BeforeDoubleClick de la feuille.
Peut-être que si nous avions le fin mot de l'histoire ou du but de ceci, nous pourrions vous proposer éventuellement autre chose.

Cordialement
 

Pièces jointes

  • Sé Masque cellules-2.xlsm
    19.9 KB · Affichages: 6

mfb

XLDnaute Occasionnel
Re,
Merci Roblochon,
Excuse j'avais pas vu qu'il fallait resélectionner.
Mais cela correspond à mon besoin.
Toutefois en testant je me suis aperçu que cela concerne toutes les dates de l'année 1970 par exemple 03/09/1970 alors que je souhaiterai que cela ne concerne les dates 01/01/1970.
J'ai bien essayer de bricoler Year mais sans succès.
Je tends à nouveau la main.
A+
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Si c'est toute la date qu'il faut tester, inutile de 'bricoler' YEAR

Dans le code ci-dessous, j'ai limité le traitement à la plage G7:G19 des dates. En effet il est inutile d'appeler l'évènement sur chaque sélection de cellule de toute votre feuille. A adapter à votre (vos) plage(s) de cellules.

VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
' Si plus d'une cellule sélectionnée ou que target n'est pas dans la plage G7:G19
    If Target.CountLarge > 1 Or Intersect(Target, Range("G7:G19")) Is Nothing Then Exit Sub
    '
    ' Si la valeur de la cellule peut-être interprétée comme une date et que son numéro de série
    ' correspond à celui du 1/1/1970 alors on traite.
    If IsDate(Target.Value) And Target.Value2 = DateSerial(1970, 1, 1) Then
        '
        ' Si masquée on montre, sinon on masque
        If Target.Font.ThemeColor = xlThemeColorDark1 Then
            Target.Font.ThemeColor = xlThemeColorLight1
        Else
            Target.Font.ThemeColor = xlThemeColorDark1
        End If
    End If
End Sub

Cordialement
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…