Soucis insertion ligne dans tableau excel 2010

glm

XLDnaute Occasionnel
Bonjour à tous et toutes
je cherche à comprendre pourquoi l'instruction Selection.Insert Shift:=xlDown ne fonctionne pas dans un tableau prédéfini. Alors qu'en dehors, cela fonctionne correctement.
Comment faire ?
Merci pour votre aide
 

Pièces jointes

  • En cours GillesLMessai.xlsm
    41.9 KB · Affichages: 40
  • En cours GillesLMessai.xlsm
    41.9 KB · Affichages: 32

jpb388

XLDnaute Accro
Re : Soucis insertion ligne dans tableau excel 2010

Bonjour à tous
c'est normal une ligne entière ne peux pas être mise dans un tableau qui est forcément limité(sauf erreur de ma part)
et je n'ai pas compris ce que tu veux faire explique le svp
 

glm

XLDnaute Occasionnel
Re : Soucis insertion ligne dans tableau excel 2010

Bonjour
merci beaucoup
Désolé, je rencontre un autre soucis que j'ai essayé de résoudre...mais :(
je veux après avoir insérer une ligne dans le tableau 2: incrémenter un chiffre dans la ligne insérée, 1ère colonne et dans la 2ème la date d'aujourd'hui
J'ai modifié le code sauf que les valeurs se mettent non pas sur la ligne insérée mais 10 lignes plus bas
Voici le code:
Range("Tableau2").ListObject.ListRows.Add 'insertion ligne à la dernière ligne du tableau
ActiveCell.Offset(1, 0).Select ' aller sur la ligne insérer
Target = ActiveCell.Row
Range("Tableau2").Cells(Target, 1) = Cells(8, 1) + 1 ' mettre le N° du point automatiquement grâce à la valeur de la cellule A8(hors tableau2 )
Range("Tableau2").Cells(Target, 2) = Date 'mettre la date d'aujourd'hui dans la 2ème colonne de la ligne active

Merci de votre aide
 

Pièces jointes

  • En cours GillesLMessai.xlsm
    38.7 KB · Affichages: 36
  • En cours GillesLMessai.xlsm
    38.7 KB · Affichages: 41

Dranreb

XLDnaute Barbatruc
Re : Soucis insertion ligne dans tableau excel 2010

Bonjour
Vous pouvez le faire comme ça :
VB:
Sub Insertion_Ligne()
Dim PLgL As Range
Set PLgL = ActiveSheet.ListObjects("Tableau2").ListRows.Add.Range
PLgL(1, 1) = Cells(8, 1) + 1  ' mettre le N° du point automatiquement grace à la valeur du dernier
PLgL(1, 2) = Date    'mettre la date du jour dans la colonne 2
End Sub
 

glm

XLDnaute Occasionnel
Re : Soucis insertion ligne dans tableau excel 2010

Bonsoir
Les utilisateurs préféraient que la ligne soit insérée après la ligne active.
J'arrive à insérer une ligne mais la ligne insérée n'a pas le format et les formules du tableau2
Merci de votre aide
 

glm

XLDnaute Occasionnel
Re : Soucis insertion ligne dans tableau excel 2010

j'ai peut être trouvé la solution
voici le code trouvé:
x = ActiveCell.Row
i = x - 8
Selection.ListObject.ListRows.Add (i)
Set PLgL = ActiveSheet.ListObjects("Tableau2").ListRows(i).Range '.ListRows.Add.Range
PLgL(1, 1) = Cells(8, 1) + 1
PLgL(1, 2) = Date

Merci de me dire si ok pour vous ou si il y a une meilleur solution
 

Dranreb

XLDnaute Barbatruc
Re : Soucis insertion ligne dans tableau excel 2010

Bonsoir.
Je n'avais pas remarqué qu'on pouvait imposer un numéro de ligne à la méthode Add de la collection ListRows (je n'ai pas depuis très longtemps ma version d'Excel). Mais si c'est le cas il n'y a pas de raison qu'elle ne renvoie pas aussi l'objet ListRow qu'elle crée (la plupart des méthodes Add, peut être toutes, renvoient l'objet qu'elles créent) ce qui devrait dont permettre aussi d'intégrer cette création dans le Set PlgL en mettant :
VB:
Set PLgL = [Tableau2].ListObject.ListRows.Add(i).Range
 
Dernière édition:

Discussions similaires

Réponses
18
Affichages
273
Réponses
7
Affichages
307

Statistiques des forums

Discussions
312 198
Messages
2 086 142
Membres
103 129
dernier inscrit
Atruc81500