DoubleClick Successif

roby

XLDnaute Occasionnel
Bonjour le Forum

J'aimerai savoir si il est possible de double cliquer sur une cellule et faire apparaitre un texte différent à chaque clic.

L'instruction suivante pour Oui et Non par exemple:

If Not Intersect([E24], Target) Is Nothing Then Target.Value = IIf(Target.Value = "Oui", "Non", "Oui")
Cancel = True

Quand serait-il pour dans mes exemples: Journée / Équipe / Autres (3 choix)
PSE / SEFIP / PSAP / ARSE / PSEM (5 choix)

Merci d'avance pour des solutions apportées
 

Pièces jointes

  • DClickSuccessif.zip
    11.1 KB · Affichages: 29
Dernière édition:

MichD

XLDnaute Impliqué
Re : DoubleClick Successif

Bonjour,

Mets ceci dans le module de ta feuille où l'action se déroule :

VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal _
    Target As Range, Cancel As Boolean)
Dim Arr(), X As Variant, GestionErreur As String

On Error GoTo GestionErreur
Application.EnableEvents = False
Select Case Target.Address
    Case Is = Range("E24").Address
        Target.Value = IIf(Target.Value = "Oui", "Non", "Oui")

    Case Is = Range("F28").Address
        Arr = Array("Journée", "Équipe", "Autres")
        X = Application.Match(Target, Arr, 0) + 1
        If X > 3 Then X = 1
        Target = Arr(X - 1)
    
    Case Is = Range("M3").Address
        Arr = Array("PSE", "SEFIP", "PSAP", "ARSE", "PSEM")
        X = Application.Match(Target, Arr, 0) + 1
        If X > 5 Then X = 1
        Target = Arr(X - 1)
End Select
Application.EnableEvents = True
Exit Sub
GestionErreur:
Err.Clear
X = 1
Resume Next
End Sub
 

roby

XLDnaute Occasionnel
Re : DoubleClick Successif

Bonsoir le Forum, MichD

Merci pour ta réponse rapide et très matinale, mais pour faire afficher les différents choix, je suis obligé de faire un clic dans une cellule neutre entre....

Ne pourrait-on pas successivement faire des clics et faire défiler les choix.

Merci encore pour ta patience
 

laetitia90

XLDnaute Barbatruc
Re : DoubleClick Successif

bonjour roby,MichD

si tu mets cancel=true entre chaque selection sur le code de Michel cela marchera

Code:
Select Case Target.Address
    Case Is = Range("E24").Address
        Target.Value = IIf(Target.Value = "Oui", "Non", "Oui")
    Cancel = True
    Case Is = Range("F28").Address
        Arr = Array("Journée", "Équipe", "Autres")
        X = Application.Match(Target, Arr, 0) + 1
        If X > 3 Then X = 1
        Target = Arr(X - 1)
    Cancel = True

ect....


perso... tu vas avoir mal au doigt a la fin de la journée:rolleyes::rolleyes:
 

Statistiques des forums

Discussions
312 894
Messages
2 093 380
Membres
105 712
dernier inscrit
CARLO 82