Après une bonne matinée de recherche, je bute pour trouver un programme VBA qui me permettrait de transformer les BDD que j'importe sur mon fichier Excel en tableau.
3 points spécifiques à ces BDD :
Certaines colonnes peuvent comporter des cellules vides.
Le nombre de lignes est variable.
La première ligne représentera toujours l'en-tête.
DL calcule la dernière ligne utilisée.
Il faut prendre la colonne où tout est rempli, j'ai opté pour la colonne K.
Dans votre fichier, on a :
DL=21450, et donc le Range("$A$1:$K$" & DL) vaut Range("$A$1:$K$21450")
Bonjour Demasc et bienvenu sur XLD,
Auriez vous un petit fichier test anonyme ?
Uniquement une dizaine de ligne de la BDD, et la structure du tableau désiré.
Ce serait infiniment plus simple pour répondre, et pas en dehors de la plaque.
Sub Macro2()
' Mise sous forme de tableau
Application.CutCopyMode = False
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$K$21450"), , xlYes).Name _
= "Tableau1"
Range("Tableau1[#All]").Select
ActiveSheet.ListObjects("Tableau1").TableStyle = "TableStyleLight1"
End Sub
Lorsque j'enregistre ma macro et effectue la mise sous forme de tableau (Onglet "Accueil" --> "Mettre sous forme de tableau") j'obtiens le programme ci-joint. Le problème étant que j'ai dans ce programme Range("$A$1:$K$21450"). Ors j'aimerais que la Range soit variable car la taille des colonnes et lignes serait amené à changer.
DL calcule la dernière ligne utilisée.
Il faut prendre la colonne où tout est rempli, j'ai opté pour la colonne K.
Dans votre fichier, on a :
DL=21450, et donc le Range("$A$1:$K$" & DL) vaut Range("$A$1:$K$21450")