VBA - Comment variabiliser la création d'un tableau...

Résolu
Bonjour,
Je ne suis pas un expert Excel et créé des macros notamment grâce à la fonction "record".
Je souhaite copier le résultat d'un filtre sur un autre onglet (que j'appelle "Consolidation") et créer un tableau.
La fonction record, enregistre bien les actions mais (évidemment) elle met en "dur" les coordonnées de la dernière cellule.
Comme les résultats de mes filtres n'auront pas toujours la même longueur, je souhaite variabiliser cette donnée : Range("$A$3:$D$537").
Merci pour votre aide
Yves

...
'Copy filter result
Application.Goto Reference:="Table1"
Selection.Copy
Sheets("Consolidation").Select
Range("A4").Select
ActiveSheet.Paste
Range("F7").Select

'Create Table
ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$3:$D$537"), , xlYes).Name = _
"GDL"
Range("GDL#All").Select

End Sub

6 réponses

  1. Bonjour

    Dernière ligne renseignée de la colonne A
    lifin = ActiveSheet.Range("$A" & Rows.Count).End(xlUp).Row

    Cdlmnt
    1. Bonjour ccm81,
      Merci pour votre réponse. Cependant je n'arrive pas à inclure votre code...
      J'ai fait de multiple tests, remplacé mes éléments, collé la ligne au dessus, au dessous... et cela ne donne rien.
      Je ne suis vraiment pas un expert désolé.
      Yves
      1. ça devrait ressembler à ça
        lifin = ActiveSheet.Range("$A" & Rows.Count).End(xlUp).Row
        ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A$3:$D$" & lifin), , xlYes).Name = _
        "GDL"

        Cdlmnt
        1. Ca ne devrait pas... C'est exactement ça :-)
          Un grand merci... Ca marche super bien.

          Pour des questions supplémentaires, puis-je les poser directement dans ce thread ou dois-je recréer un post ?
          Merci
          1. si c'est un autre sujet, tu recrées un nouveau post
            si ce sujet est résolu, peux tu mettre le sujet à résolu (en haut dans ton premier message)

            Bon après midi