Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Transformation BDD en tableau à partir de VBA

Demasc

XLDnaute Nouveau
Bonjour à tous,

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.
Est-ce que vous auriez une idée ?
 
Solution
Vous pouvez modifier comme suit :
VB:
DL = Range("K65500").End(xlUp).Row
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$K$" & DL), , xlYes).Name = "Tableau1"
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")

Demasc

XLDnaute Nouveau
Plus clairement :
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.
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Vous pouvez modifier comme suit :
VB:
DL = Range("K65500").End(xlUp).Row
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$K$" & DL), , xlYes).Name = "Tableau1"
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")
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Petite variante si vous n'êtes pas sur du nombre de colonnes :
VB:
Set Plage = [A1].CurrentRegion
ActiveSheet.ListObjects.Add(xlSrcRange, Plage, , xlYes).Name = "Tableau1"
CurrentRegion prend toute la plage jusqu'à la dernière ligne et la dernière colonne.
 

Discussions similaires

Réponses
5
Affichages
504
Compte Supprimé 979
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…