[Résolu]Insérer un tableau de taille variable

jmten92

XLDnaute Nouveau
Hello,
J'ai une question à vous soumettre,

J'ai une extraction SAP qui me génère un fichier excel .
sur ce fichier, je veux sélectionner toutes les cellules utilisées en feuille 1 (la taille varie selon les jours) - et insérer un tableau avec entête sur cette sélection. (comme ce que l'on pourrait faire manuellement)
Mon idée était de sélectionner avec la méthode CURRENT REGION (déjà testé ca marche) et d’insérer un tableau avec entête sur cette sélection

Est que quelqu’un connait la méthode a utiliser pour insérer un tableau avec entête sur la sélection ?

Merci par avance de votre réponse,
 

Pièces jointes

  • Nouveau Microsoft Office Excel Worksheet.xlsm
    13.2 KB · Affichages: 38
Dernière édition:

jmten92

XLDnaute Nouveau
sachant que j'ai ce code pour déterminer le nombre de lignes et des colonnes
Sub m()
ActiveSheet.Activate
nb_lignes = Cells(Rows.Count, "A").End(xlUp).Row
der_col = Cells(1, Columns.Count).End(xlToLeft).Column
MsgBox "Le nombre de colonnes est de : " & der_col
MsgBox "Le nombre de lignes est de : " & nb_lignes




End Sub
 

jmten92

XLDnaute Nouveau
c'est un tableau qui vient de SAP (en fait c'est exactement comme dans le fichier que je viens d'importer) => c'est juste des cellules de remplies (aucune de vide) - mon idée était donc de calculer le nombre de colonnes et de lignes - et d'insérer un tableau en fonction de ces 2 variables sachant que la première ligne est les entetes
Est-ce réalisable ?
 

Theze

XLDnaute Occasionnel
Voici une piste (je ne sais pas trop si c'est ce que tu veux), la plage de la feuille "Sheet1" est copiée sur la feuille "Sheet2" à partir de A1 :
Code:
Sub Test()

    Dim Plage As Range
   
    Set Plage = Worksheets("Sheet1").Range("A1").CurrentRegion
   
    With Worksheets("Sheet2")
        .Range(.Cells(1, 1), .Cells(Plage.Rows.Count, Plage.Columns.Count)).Value = Plage.Value
    End With
   
End Sub
 

jmten92

XLDnaute Nouveau
Finalement j'ai trouvé la solution si cela vous intéresse : un tableau qui s'adapte au nombre de ligne et de colonnes en partant de la cellule A1 - cela marche très bien . Bonne soirée

Set rng = Range(Range("A1"), Range("A1").SpecialCells(xlLastCell))
Set tbl = ActiveSheet.ListObjects.Add(xlSrcRange, rng, , xlYes)
tbl.TableStyle = "TableStyleMedium2"
ActiveSheet.ListObjects(1).Name = "Tableau4"
 

Discussions similaires

Statistiques des forums

Discussions
312 069
Messages
2 085 041
Membres
102 764
dernier inscrit
nestu