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

Résolu/Fermé
YvesCy
Messages postés
6
Date d'inscription
lundi 5 juillet 2021
Statut
Membre
Dernière intervention
8 juillet 2021
- 6 juil. 2021 à 09:33
YvesCy
Messages postés
6
Date d'inscription
lundi 5 juillet 2021
Statut
Membre
Dernière intervention
8 juillet 2021
- 7 juil. 2021 à 15:48
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

ccm81
Messages postés
10463
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 septembre 2022
2 314
6 juil. 2021 à 09:46
Bonjour

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

Cdlmnt
0
YvesCy
Messages postés
6
Date d'inscription
lundi 5 juillet 2021
Statut
Membre
Dernière intervention
8 juillet 2021

7 juil. 2021 à 12:27
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
0
ccm81
Messages postés
10463
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 septembre 2022
2 314
Modifié le 7 juil. 2021 à 15:14
ç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
0
YvesCy
Messages postés
6
Date d'inscription
lundi 5 juillet 2021
Statut
Membre
Dernière intervention
8 juillet 2021

7 juil. 2021 à 15:40
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ccm81
Messages postés
10463
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
21 septembre 2022
2 314
Modifié le 7 juil. 2021 à 15:46
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
0
YvesCy
Messages postés
6
Date d'inscription
lundi 5 juillet 2021
Statut
Membre
Dernière intervention
8 juillet 2021

7 juil. 2021 à 15:48
Avec plaisir.
Merci et bon après-midi à toi aussi.
0