Insertion ligne dans Excel avec une Worksheet

Résolu/Fermé
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 7 nov. 2012 à 11:05
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 7 nov. 2012 à 12:19
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.
A voir également:

2 réponses

eriiic Messages postés 24571 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 8 mai 2024 7 216
7 nov. 2012 à 11:28
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
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
7 nov. 2012 à 12:19
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