Saisir une valeur avec un double clic

Résolu
giles01 Messages postés 7 Statut Membre -  
giles01 Messages postés 7 Statut Membre -
Bonjour,
J'utilise excel 10 et je débute avec les VBA.
Voilà mon problème...
Je créer un tableau de résultat ou chaque colonne apporte un nb de points fixes. j'arrive a attribuer à une colonne un nb de points quand je double clic dessus : exemple Colonne B = 3 points si double cliquée.
Je voudrais faire la même chose avec d'autres colonnes , mais avec un nombre de points différent. (Exemple Colonne C = 2 si double cliquée).
Est ce possible?

Je patauge...Help please...

Merci

Giles

4 réponses

  1. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Bonsoir,

    voila le code à placer dans les propriétés de la feuille (clic droit sur l'onglet/Visualiser le code)

    rivate Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, Range("B:B")) Is Nothing Then Target = 3
    If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then Target = 2
    If Not Application.Intersect(Target, Range("D:D")) Is Nothing Then Target = 1
    End Sub

    mais pour éviter l'activation du code sur toute la colonne, je te conseille de mettre des limites à chacune d'entre elle
    Range("B2:B20") et idem pour les colonnes C et D

    A+
    Mike-31

    Une période d'échec est un moment rêvé pour semer les graines du savoir.
    0
  2. giles01 Messages postés 7 Statut Membre
     
    Super , c'est ça. Encore une question...si j'ai plusieurs colonne avec la même valeur, comme par exemple Colonne C et colonne F= 3, comment le noter dans ce code (une virgule ?)
    0
  3. Mike-31 Messages postés 18405 Date d'inscription   Statut Contributeur Dernière intervention   5 147
     
    Re,

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Application.Intersect(Target, [B:B]) Is Nothing Then Target = 2
    If Not Application.Intersect(Target, [C:C,F:F]) Is Nothing Then Target = 3
    If Not Application.Intersect(Target, [D:D]) Is Nothing Then Target = 1
    Target(2, 1).Select
    End Sub

    j'ai rajouter en fin de code "Target(2, 1).Select" pour libérer la cellule
    0
  4. giles01 Messages postés 7 Statut Membre
     
    Un grand merci Mike. C'est nickel !
    0