Créer un tableau sous VBA

  • Initiateur de la discussion Initiateur de la discussion Poussin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Poussin

XLDnaute Occasionnel
Bonjour à tous j'ai voulu créer un tableau pour une base de données. J'ai pour cela utilisé l'enregistreur de macro et j'ai obtenu cela :

Code:
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$AK$474"), , xlNo).Name = _
           "Tableau"

Je voudrais donc savoir comment faire dans le cas ou le fichier source sera différent ou lorsqu'il y aura plus de données afin d'être sur de créer un tableau qui récupère toutes les données.

Merci de votre aide. Bonne soirée
 
Re : Créer un tableau sous VBA

Bonjour,

peut être ainsi :
Code:
With Workbooks("classeur.xls").Sheets("nomfeuille")
    .ListObjects.Add(xlSrcRange, .Range("$A$1:$AK$" & .Range("A65536").End(xlUp).Row), , xlNo).Name = _
           "Tableau"
End With
bon après midi
@+
 
MErci Pierrot93 pour cette réponse. Malheureusement avec cette modification cela ne fonctionne plus je te joins mon code :

Code:
Sheets("Feuil2").Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$AK$474"), , xlNo).Name = _
      "Tableau"

'    With Workbooks("Nouveau.xlsm").Sheets("Feuil2")
'        .ListObjects.Add(xlSrcRange, .Range("$A$1:$AK$" & .Range("A65536").End(xlUp).Row), , xlNo).Name = _
'           "Tableau"
'    End With
      
    Range("Tableau[[#Headers],[Colonne1]]").Select
    ActiveCell.FormulaR1C1 = "Nom"
    Range("Tableau[[#Headers],[Colonne2]]").Select
    ActiveCell.FormulaR1C1 = "Prénom"
    Range("Tableau[[#Headers],[Colonne3]]").Select
    ActiveCell.FormulaR1C1 = "Code Postal"

La partie haute du code fonctionne par contre la tienne celle en commentaire ne marche pas. De plus je voudrais savoir comme faire pour redéfinir plus efficacement chaque colonne car actuellement je réécris la même chose pour chaque colonne.

Encore merci d'avance pour ton aide précieuse.

Bonne journée
 
Oui j'ai une erreur si j'utilise le code qui est actuellement en commentaire : la méthode Select de la classe Range a échoué et il me surligne :

Code:
Range("Tableau[[#Headers],[Colonne1]]").Select

Si j'utilise le code au-dessus du commentaire cela fonctionne je n'ai pas de message d'erreur.
Merci pour ton aide
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Retour