Sélection libre à choix unique

Bonjour,

Je souhaite connaitre le code qui permet à une colonne d'etre à choix unique.

Le fichier ci joint vous permettra de bien comprendre ma demande.

J'insiste sur le fait que l'Utilisateur doit taper une lettre ou chiffre, puis valider par ENTREE (ou fleche du bas) pour mettre en application la macro.

Par avance, merci de votre précieuse aide.

Salutations.

21choix-unique.xlsx (10.01 Ko)

Bonjour Raf le forum

ton fichier en retour avec deux possibilités

a+

papou

19choix-raf-v1.xlsm (29.37 Ko)

Merci Papou mais ce n'est pas tout a fait ce que je recherche. La méthode de saisie que tu me proposes ne me convient pas.

Il faut vraiment que la personne tape le X ou autre chose avec son clavier puis valide soit par la touche ENTREE soit par les flèches du clavier pour que le code s'applique.

Si quelqu'un a la solution ?

Par avance merci.

Bonjour,

Voir avec ton classeur en retour.

Note que ce serait plus sympa avec des optionButton.

A+

25choix-unique.xlsm (15.80 Ko)

BONJOUR

une evetuelle solution sans vba ; certainement a peaufiner

21raf.zip (8.13 Ko)

cordialement

lermite a écrit :

Bonjour,

Voir avec ton classeur en retour.

Note que ce serait plus sympa avec des optionButton.

A+

Merci Lermite, je suis d'accord avec toi sur les Optionbutton mais dans mon cas de figure, ce n'est pas approprié à mon fichier final.

Est il possible de remplacer le X par une quelconque lettre ou chiffre ou meme mot ?

Merrrrrrrrrrrrrrci.

Sans aucun problème,

Voir dans le module de la feuille pour inscrire le mot souhaiter à la place de X

A+

Justement, je ne sais pas si les Utilisateurs vont y mettre un X, ou écrire OK, ou un autre caractère.

L'idée est que toute écriture doit lancer l'exécution du code ou résonner : Si pas vide.

A te lire.

Merci.

OK, compris, tu remplace la ligne

     If UCase(Target.Text) = "X" Then

par

     If Target.Text <>"" Then

Mais finalement pas besoin de tester Target puisque tu sais pas ce qu'il y aura dedans alors ce pourrait être simplement,

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [B2:B6]) Is Nothing Then
            Application.EnableEvents = False
            Range("B2:B6").ClearContents
            Target = "Le mot"
            Application.EnableEvents = True
    End If
End Sub

Avec cette solution, l'utilisateur n'a même pas besoin de taper quelque chose, il sélectionne la cellule et tape Enter pour la valider.

A+

Nickel, un vrai Chef Lermite.

Mille mercis.

Bonjour,

Question élémentaire, je m'en excuse avant toute chose.

Comment fait on pour indiquer dans le code ci dessous que la sélection du choix unique n'est pa sà faire dans la plage Q29:Y29 mais soit entre Q29 soit entre Y29

Code :

If Not Intersect(Target, [Q29:Y29]) Is Nothing Then

Application.EnableEvents = False

Range("Q93:Y29").ClearContents

Target = "X"

Application.EnableEvents = True

Merci de votre réponse.

Re,

    If Not Intersect(Target, [Q29,Y29]) Is Nothing Then
        Application.EnableEvents = False
        [Q29,Y29].ClearContents
        Target = "X"
        Application.EnableEvents = True
    End If

A+

Merci Lermite !

Rechercher des sujets similaires à "selection libre choix unique"