Nouvelle ligne dans un tableau VBA
Résolu
Anthelm
Messages postés
198
Date d'inscription
Statut
Membre
Dernière intervention
-
Anthelm Messages postés 198 Date d'inscription Statut Membre Dernière intervention -
Anthelm Messages postés 198 Date d'inscription Statut Membre Dernière intervention -
A voir également:
- Insertrowrange
- Darkino nouvelle adresse - Guide
- Tableau word - 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.