Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 coller dans la première cellule vide d'un tableau

dad621

XLDnaute Nouveau
Supporter XLD
bonjour le forum,
Désolé de vous déranger, avec quelque bout de code piquer sur le forum j'arrive par double clic sur une cellule en feuille 2 , à copier la cellule ,à créer une nouvelle ligne dans mon tableau en feuille 1, mais je bloque pour le collage dans la première cellule de cette nouvelle ligne.
merci pour votre aide.
VB:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Cancel = True 'annule le mode édition lié au double-clic
Target.Copy 'copy la cellule en feuille 2
Sheets("DEVIS ").ListObjects(1).ListRows.Add 'ajout d'une ligne dans mon tableau en feuille devis
Sheets("DEVIS ").(tableau 10). 1 ere cellule de la nouvelle ligne      'ici je voudrai collé la valeur de la cellule copié



End Sub
 

vgendron

XLDnaute Barbatruc
Bonjour

un peu de lecture ici qui devrait te donner quelques éléments pour comprendre comment utiliser les tables

dans ton code.. pourquoi tu passes de "Listobjects(1) pour ajouter une ligne et ensuite, tu utilises "Tableau 10"

C'est la meme table??
 

AtTheOne

XLDnaute Accro
Supporter XLD
EDIT 1 : ne pas oublier la civilité : Bonjour à toutes & à tous

Avec une petite précaution : double-clic sur une cellule "N° d'article" et pour un tableau vide (cas de la 1ère saisie)
EDIT 2 : Avec ou sans ligne d'entête
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  
     'Précaution  Target dans la 1ere colonne du tableau (double clic sur un N° d'article)
     If Target.Count > 1 or Intersect(Target, Me.[Tableau1[N° d''article]]) Is Nothing Then Exit Sub
     Cancel = True 'annule le mode édition lié au double-clic
  
     With Sheets("DEVIS").ListObjects(1)
          If .ShowHeaders Then Lgn1 = 2 Else Lgn1 = 1  'en fonction de l'affichage ou non de la ligne d'entête
          'Précaution si 1ère saisie ne pas ajouter de ligne
          If Not (.ListRows.Count = 1 And .Range.Cells(Lgn1, 1) = "") Then .ListRows.Add
          .ListRows(.ListRows.Count).Range.Cells(1).Value = Target.Value
     End With
  
End Sub
 
Dernière édition:

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…