Fonction double-clic en VBA

Bonjour à tous,

Dans le tableau excel ci-joint, je voudrais afficher le chiffe 1 dans une cellule des colonnes jaunes (3 dans les colonnes vertes et 5 dans les colonnes roses) en double cliquant sur ladite cellule.

En même temps, je voudrais que dans l'ensemble des cellules des colonnes jaunes, vertes et roses, on ne puisse pas écrire à l'aide du clavier.

En gros, je ne voudrais pouvoir écrire qu'en utilisants des double-clis.

J'espère avoir été clair.

Merci

Etienne

https://www.excel-pratique.com/~files/doc2/Test_double_clic2.xls

Bonjour Etienne,

je t'envoie un exemple

https://www.excel-pratique.com/~files/doc2/6z0X0Test_double_clic2.xls

j'ai rajouté le code VBA suivant pour la feuille 1

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

'Teste si on double-clique dans la zone spécifié
If Not Application.Intersect(Target, Range("E7:M10")) Is Nothing Then

    'On enlève la protection
    ActiveSheet.Unprotect "test"

    'Si la cellule est vide on y inscrit le chiffre correxpondant à sa couleur
    If Target = "" Then

        Select Case Target.Interior.ColorIndex
            Case 36 'Couleur de fond jaune
                Target = 1
            Case 35 'Couleur de fond verte
                Target = 3
            Case 38 'Couleur de fond rose
                Target = 5
        End Select
    Else
        Target = ""
    End If

    'On empeche l'entrer en mode édition
    Cancel = True
    'On remet la protection
    ActiveSheet.Protect "test"

End If

End Sub

Si tu as des questions hésite pas

Bonne journée

Bonjour à tous,

Une autre solution

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("e7:m20")) Is Nothing Then
        Target = Cells(5, Target.Column)
    End If
End Sub

Salut Math

Bonne soirée

Claude.

Bonjour,

Les réponses me conviennent parfaitement et vont me permettrre de poursuivre.

Un grand merci à tous

Etienne

Rechercher des sujets similaires à "fonction double clic vba"