Code VBA avec case à cocher sur beaucoup de ligne

Bonjour,

Je rencontre sensiblement le même problème (https://forum.excel-pratique.com/viewtopic.php?f=2&t=109087) avec beaucoup de case à cocher sur un même fichier.

Seulement dans mon cas pour chaque ligne la personne à soit "validé" ou "pas validé".

Je n'arrive pas à réaliser le code mais la méthode du BeforeDoubleClick avec une X qui s'affiche dans une colonne ou dans l'autre

me paraît parfaite.

Si quelqu'un peut m'aider pour le code s'il vous plaît ?

Il y a un fichier en pièce jointe.

Merci beaucoup par avance !

Edit Dan: ajout lien du sujet d'origine de cette demande

Bonjour,

En repartant de ce que j'avais réussi à faire pour mon cas pour le RGPD, voici ce que j'ai pu faire dans votre fichier.

Si cela peut vous aider pour commencer.

Bon courage.

Cordialement

Bonjour

J'ai créé un fil pour votre problème avec un lien en référence étant donné que le fil dans lequel vous avez posté était cloturé.

Le code proposé par Ben-Sabbe peut aussi être complété comme ceci

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Row < 3 Or Target.Count > 1 Then Cancel = True: Exit Sub
If Not Intersect(Target, Range("D6:E27" & Range("B" & Rows.Count).End(xlUp).Row)) Is Nothing Then
    Cancel = True
    If Target = "" Then
        Target = "þ"
    Else: Target = ""
    End If
End If
End Sub

Soit vous utilisez une seule colonne pour dire si c'est validé ou pas ou vous faites un double click pouvoir effacer en cas d'erreur,

On pourrait aussi faire en sorte que si case à cocher dans la colonne Validé on efface automatiquement la case à cocher dans la colonne Non Validé et inversement

Cordialement

Bonjour,

Merci pour le retour, j'ai trouvé un code qui fonctionne bien je crois pour cocher quand c'est validé tout en décochant le non validé.

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("ACQUISE")) Is Nothing Then
    If ActiveCell.Value = "" Then
        ActiveCell.Value = "X"
        ActiveCell.Offset(0, 1).Value = ""
    End If

ElseIf Not Intersect(Target, Range("NONACQUISE")) Is Nothing Then
    If ActiveCell.Value = "" Then
    ActiveCell.Value = "X"
    ActiveCell.Offset(0, -1).Value = ""
    End If

End If

End Sub

Bonne journée,

Rechercher des sujets similaires à "code vba case cocher beaucoup ligne"