Insertion ligne dans Excel avec une Worksheet

Résolu
Bonjour à tous,

Pour les besoins d'un classeur je voudrais insérer une ligne juste en dessous de la ligne sur laquelle a lieu un double clic et positionner le curseur sur la cellule située sur la ligne insérée et dans la colonne à droite de celle ou a été fait le double clic :
Expl : double clic sur E21 curseur sur F22.

J'ai récupéré et adapté la procédure Worksheet ci-dessous à :

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim L As Long
L = ActiveCell.Row ' Récupere le N° de la Ligne active.
Rows(L).Copy ' Copie la ligne active.
Rows(L).Insert Shift:=xlDown ' Insère la ligne copiée en dessous de la ligne active.
L = L + 1' Plus 1 sur le N° de ligne.
Range(Cells(L, 6), Cells(L, 12)).ClearContents  ' Efface les cellules de F à L de la ligne N+1
L = L + 1	' Plus 1 sur le N° de ligne.
Range(Cells(L, 6)).Select
End Sub


Mon problème c'est que je plante sur la ligne : Range(Cells(L, 6)).Select avec une erreur 1004 La méthode Range de l'objet Worksheet a échoué.

Pouvez- m'aider ? Je n'arrive pas à comprendre mon erreur.
D'autre part serait-il possible que cette procédure ne soit déclenchée que lorsqu'on fait un double clic sur une des cellules de la Colonne "E" uniquement.

D'avance merci pour votre aide.
Cordialement.
Mistral.

2 réponses

  1. Contributeur
    Bonjour,

    Tu devrais utiliser Target plutôt que ActiveCell, mais bon.

    1)
    Cells(L, target.column+1).Select devrait aller.
    Mais j'ai l'impression que tu fais 2 fois L=L+1...

    2) à mettre en début de code :
    if target.column<>5 then exit sub

    eric

    0
    1. Bonjour Eric,

      C'est parfait!
      Tout fonctionne correctement et effectivement j'ai supprimé le 2iem
      L=L+1

      J'ai exatement ce que je cherchais.
      Merci à toi
      Mistral
      0