XL 2019 Remplissage automatique

nauwel

XLDnaute Nouveau
Bonjour
J'ai trouvé un code qui rempli avec un "X" les cellules déverrouillées avec un double clic (lorsque l'onglet est protégé) j'aimerais qu'il ne puisse y avoir qu'un seul "X" par ligne du tableau, c'est à dire que si on double clic sur une autre cellule vide de la ligne le "X" déjà inscrit dans cette ligne s'efface automatiquement.
Je ne sais pas trop comment faire et je sais qu'il y a des magiciens sur ce forum....
 

Pièces jointes

  • echelle.xlsm
    18.5 KB · Affichages: 3

Eric C

XLDnaute Barbatruc
Bonjour le forum
Bonjour nauwel

A essayer :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Me.Range("B10:F37")) Is Nothing Then
        Me.Range("B10:F37").ClearContents
        Target = "X"
        Cancel = True
    End If
End Sub

Bonne journée à toutes & à tous
@+ Eric c
 

nauwel

XLDnaute Nouveau
Merci de vous intéresser à mon problème ....bon ça fait ça quand je double clic sur une case vide de la ligne.. Mon code de départ n'est peut-être pas top je l'ai copié je ne sais où et vu que ça fonctionnait je n'ai pas cherché plus loin ....

bug1.PNG
 

Chris401

XLDnaute Accro
Bonjour
Tu ne peux avoir qu'une seule SUB identique ; Or là tu as gardé la tienne : il faut que tu la supprimes.
Pour ne modifier que la ligne concernée et non toute la plage :
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 Then Exit Sub
    Set rg = Intersect(Target, Range("B10:F37"))
       If Not rg Is Nothing Then
       ligne = ActiveCell.Row
            Range("B" & ligne & ":F" & ligne).ClearContents
            Target = "X"
        Cancel = True
       End If
Set rg = Nothing
End Sub
 

Discussions similaires

Réponses
18
Affichages
596

Statistiques des forums

Discussions
312 069
Messages
2 085 041
Membres
102 764
dernier inscrit
nestu