Nouvelle ligne dans un tableau VBA
Résolu
Anthelm
Messages postés
202
Statut
Membre
-
Anthelm Messages postés 202 Statut Membre -
Anthelm Messages postés 202 Statut Membre -
Bonjour,
J'ai trouvé ces deux macros qui permettent de créer une ligne à la fin d'un tableau:
Celle ci marche très bien:
Range("Tableau1").ListObject.ListRows.Add AlwaysInsert:=False
Celle la par contre, je ne vois pas ou mettre "MyNewRow" après, comment la lancer.
Set myNewRow = ActiveWorkbook.Worksheets(1).ListObject(1).ListRows.Add
Dans tous les cas, j'aimerai ajouter des valeurs à la ligne en question, et je ne vois pas bien comment le formuler...
• Range("Tableau1").ListObject.ListRows.Add AlwaysInsert:=False
•(Cetteligne) colonne 1.value = "Valeur 1"
•(Cetteligne) colonne 2.value = "Valeur 2"
... Quelque chose du genre!
Merci beaucoup!
J'ai trouvé ces deux macros qui permettent de créer une ligne à la fin d'un tableau:
Celle ci marche très bien:
Range("Tableau1").ListObject.ListRows.Add AlwaysInsert:=False
Celle la par contre, je ne vois pas ou mettre "MyNewRow" après, comment la lancer.
Set myNewRow = ActiveWorkbook.Worksheets(1).ListObject(1).ListRows.Add
Dans tous les cas, j'aimerai ajouter des valeurs à la ligne en question, et je ne vois pas bien comment le formuler...
• Range("Tableau1").ListObject.ListRows.Add AlwaysInsert:=False
•(Cetteligne) colonne 1.value = "Valeur 1"
•(Cetteligne) colonne 2.value = "Valeur 2"
... Quelque chose du genre!
Merci beaucoup!
A voir également:
- Insertrowrange
- Tableau word - Guide
- Darkino nouvelle adresse - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Partager photos en ligne - Guide
2 réponses
Bonjour;
Sub test() Dim lo As ListObject, rCell As Range, Calc As XlCalculation Calc = Application.Calculation Application.Calculation = xlCalculationManual Set lo = Worksheets(1).ListObjects(1) With lo 'si le tableau n'est pas vide, dernière cellule colonne décalée d'une ligne If .InsertRowRange Is Nothing Then Set rCell = .HeaderRowRange.Cells(1).Offset(.ListRows.Count + 1) Else '1ère. ligne du tableau Set rCell = .InsertRowRange.Cells(1) End If End With 'remplissage de la nouvelle ligne With rCell .Value = "à définir" .Offset(, 0).Value = "Valeur 1" .Offset(, 1).Value = "Valeur 2" End With Application.Calculation = Calc End Sub
Merci, mais...
"si le tableau n'est pas vide, dernière cellule colonne décalée d'une ligne"
? :)
Edit:
Ok j'ai regardé la définition de InsertRowRange:
"Si l'option Insérer une ligne n'est pas visible, car la liste est inactive, l'objet Nothing est renvoyé."
Si le tableau est vide, la ligne 1 contiendra les entêtes, les premières données arriveront simplement en ligne 2 je suppose, donc peut être pas besoin de ca.
With rCell
.Value = "à définir"
.Offset(, 0).Value = "Valeur 1"
.Offset(, 1).Value = "Valeur 2"
End With
Application.Calculation = Calc
Yes, ok :) Merci beaucoup ! Je vais partir sur ça.
"si le tableau n'est pas vide, dernière cellule colonne décalée d'une ligne"
? :)
Edit:
Ok j'ai regardé la définition de InsertRowRange:
"Si l'option Insérer une ligne n'est pas visible, car la liste est inactive, l'objet Nothing est renvoyé."
Si le tableau est vide, la ligne 1 contiendra les entêtes, les premières données arriveront simplement en ligne 2 je suppose, donc peut être pas besoin de ca.
With rCell
.Value = "à définir"
.Offset(, 0).Value = "Valeur 1"
.Offset(, 1).Value = "Valeur 2"
End With
Application.Calculation = Calc
Yes, ok :) Merci beaucoup ! Je vais partir sur ça.