Mise en forme tableau

Bonjour,

A l'aide d'une liaison ADO, je récupère des données provenant de fichier externe dans Excel.

J'aimerais pouvoir mettre en forme le tableau. J'ai fait une macro et le code est le suivant:

Sub Macro1()
'
' Macro1 Macro
'

    ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$1:$K$14"), , xlYes).Name = _
        "Tableau2"
    Range("Tableau2[#All]").Select
    ActiveSheet.ListObjects("Tableau2").TableStyle = "TableStyleLight9"
End Sub

Mais la sélection des lignes et colonnes est manuelle. J'aimerais que cela se fasse en automatique. Comment faire ?

Merci d'avance pour votre aide

katia

Bonjour

Tu devrais joindre un fichier avec, sur la première feuille un fichier tel que tu le reçois et sur la deuxième tel que tu veux qu'il devienne.

On verra alors ce qu'on peut faire.

Bye !

Bonjour,

A tester.

Cdlt.

Public Sub DEMO()
Dim rngData As Range
Dim lo As ListObject

    With ActiveSheet
        Set rngData = .Cells(1).CurrentRegion
        Set lo = .ListObjects.Add(xlSrcRange, rngData, , xlYes)
        With lo
            .Name = "Tableau2"
            .TableStyle = "TableStyleLight9"
        End With
    End With

    Set lo = Nothing: Set rngData = Nothing

End Sub

ça fonctionne. Merci beaucoup

Par contre, comme la macro s'exécute à chaque démarrage ou chaque actualisation (vu que les tables importées sont mises à jour régulièrement). J'ai une erreur qui s'affiche lors de la 2ème exécution "Un tableau ne peut pas en chevaucher un autre".

Si je veux exécuter ce code pour chaque feuille, je remplace Activesheet par le nom de la feuille ?

Public Sub DEMO()
Dim rngData As Range
Dim lo As ListObject

    With ActiveSheet
        Set rngData = .Cells(1).CurrentRegion
        Set lo = .ListObjects.Add(xlSrcRange, rngData, , xlYes)
        With lo
            .Name = "Tableau2"
            .TableStyle = "TableStyleLight9"
        End With
    End With

    Set lo = Nothing: Set rngData = Nothing

End Sub

Bonjour,

Dans la mesure ou tu travailles avec Excel 2013, tu devrais voir du coté de Power Query (Add-in gratuit à télécharger) et ainsi éviter une liaison ADO.

L'actualisation de tes données (table ou tableau) serait automatique et plus besoin de VBA.

Cdlt.

Avec Ms Query, je ne peux pas passer des paramètres provenant de mon fichier Excel (car la requête ne peux pas être affichée graphiquement). J'ai donc du convertir mes requêtes MS Query en VBA.

Et en VBA j'ai beaucoup plus de possibilités qu'avec MS Query.

Re,

Je ne parle pas de MSQuery mais de Power Query pour Excel 2013.

Informe toi de son utilisation.

Mais je ne suis pas un spécialiste dans ce domaine...

Cdlt.

D'autres idées pour la mise en forme d'un tableau en VBA ?

Rechercher des sujets similaires à "mise forme tableau"