la seule réponse que j'avais besoin, c'est où on colle ces données, au début, quelque part au milieu ou en dessous du tableau.
dans cette macro, le variable "Ligne" represente la ligne du tableau où vous voulez commencer cela, donc si Ligne=1, il colle au début, si ligne est inférieur ou egal aux nombre de lignes dans ce tableau, il insére dans le tableau, dans les autres cas, il ajoute après la fin.
Sub Insérer()
Dim c, Nmb, Ligne
Ligne = 7 '1 pour la premiere ligne, 2 pour la 2ieme, ...,-1 pour la derniere
Set c = Sheets("import").Range("A1").CurrentRegion
Nmb = c.Rows.Count - 1
With Range("IMPORTCapella").ListObject 'le tableau structuré
If 1 <= Ligne And Ligne <= .ListRows.Count Then 'si ligne est le un numéro actuelle du tableau, c'est insérer dans le tableau
.ListRows(Ligne).Range.Resize(Nmb).EntireRow.Insert 'ajouter au tant de lignes vides pour toute la feuille !!!!!
Set c2 = .DataBodyRange.Cells(Ligne, 1) 'cellule en haut à gauche de cette nouvelle plage
Else 'autrement
Set c2 = .ListRows.Add.Range.Range("A1").Resize(Nmb) 'ajouter en dessous
End If
For Each charactère In Array("E", "J", "L", "M", "O") 'copier ces colonnes individuellement
ptr = ptr + 1 'pointer vers colonne x de cette nouvelle plage
c2.Cells(1, ptr).Resize(Nmb).Value = c.Offset(1, Asc(charactère) - 65).Value 'coller les données
c2.Cells(1, ptr).Resize(Nmb).Interior.ColorIndex = WorksheetFunction.RandBetween(3, 55) 'plus tard vous pouvez supprimer cette ligne, qui colorise cette plage vec un couleur aléatoire
Next
End With
End Sub
Si on ne sait pas rendre son fichier anomyme, on crée un "lookalike"
Quand vous insérez des lignes et il y a d'autre chose à côté de ce tableau, alors il faut le dire !!! J'avais déjà demandé cela.