N'autoriser qu'une seule cellule

Bonsoir à tous,

J'ai six cellules A1,A2,A3,A4,A5 et A6 dans lesquelles se trouvent pour chaque cellule une liste déroulante de dates pour l'année 2021.

Mon souhait serait que quand on saisit une date en A1ou A2 ou A3 ou A4 ou A5 ou A6, il ne soit plus possible de saisir une autre date.

En un mot, un seul choix de date doit être autorisé.

J'ai essayé en validation de données ou en formules mais je n'y arrive pas.....un petit coup de pouce.

Merci à tous.

Bonsoir,

il faut passer par VBA avec une surveillance événementielle des différentes cellule suite à un changement de valeur.
Suite à cette détection, il suffira de boucler sur les cellule afin de vérifier que la nouvelle saisie est possible = une date choisie sur une seule des 6 cellules surveillées.
Si ce test est "bon" on ne fait rien, si ce n'est pas bon alors deux possibilités pour vous :

Soit on fait un UNDO afin de revenir à l'état des valeurs avant changement.
Soit on garde la nouvelle donnée mais alors on efface celle existante avant.

Mais pour tout ceci à mon tour de vous demander de nous donner un petit coup de pouce :
Un fichier représentatif de votre demande !

@ bientôt

LouReeD

Bonjour,

Pour le principe.

Cdlt.

10danymaccoy.xlsm (17.10 Ko)
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Me.Range("A1:A6")) Is Nothing And Target.CountLarge = 1 Then
        If Not IsEmpty(Target) And WorksheetFunction.Count(Me.Range("A1:A6")) > 1 Then
            With Application
                .EnableEvents = False
                .Undo
                .EnableEvents = True
            End With
        End If
    End If
End Sub

Bonjour,

Merci de votre code.

Je vais essayer .

Bonne journée.

Cdt.

Bonjour,

Je voudrais remercier Jean-Eric et LooReeD pour m’avoir aidé à réaliser un fichier Excel comprenant six cellules avec liste déroulante et dates différentes pour l’année 2021.

Le but est que quand une des 6 cellules est non « non vide », il soir impossible d’en saisir une autre. Sur les

Je vous joins le fichier au besoin.

7exemple-copie.xlsm (19.20 Ko)

Bonjour,

Une mise à jour ?

Cdlt.

6exemple-copie.xlsm (18.33 Ko)

Private Sub Worksheet_Change(ByVal Target As Range)

Dim oldValue, newValue
    If Not Intersect(Target, Me.Range("A2:F2")) Is Nothing And Target.CountLarge = 1 Then
        newValue = Target.Value
        Application.EnableEvents = False
        Application.Undo
        oldValue = Target.Value
        If Not IsDate(oldValue) Then Target.Value = newValue
        Application.EnableEvents = True
    End If
End Sub

Non pour moi pas de mise à jour mais pour le groupe au besoin.

Cdt.

Hey ! Pourquoi j'ai un "-1" ?

@ bientôt

LouReeD

Rechercher des sujets similaires à "autoriser seule"