Afectation d'une sélection de données avec autofilter à un table

Fermé
JMichel - 9 mai 2016 à 08:26
JMichelC Messages postés 5 Date d'inscription lundi 9 mai 2016 Statut Membre Dernière intervention 5 juillet 2016 - 9 mai 2016 à 15:06
Bonjour,

J'ai une idée qui me semble possible mais pour le moment je n'ai pas encore trouvé la solution. Je réalise un autofilter sur une selection du style

ActiveSheet.Range("$A$9:$U$293").AutoFilter Field:=3, Criteria1:="11"

et j'aimerais stocker le contenu de cette selection dans un tableau.

le but et d'éviter de faire une boucle et de gagner ainsi du temps sur mon traitement.

Mais je n'arrive pas à stocker l'autofiltre dans un tableau vba.

Avez-vous une idée? en vous remerciant,

cordialement,

J-Michel

A voir également:

1 réponse

f894009 Messages postés 17189 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 mai 2024 1 705
9 mai 2016 à 12:27
Bonjour,

Sub Test()
    Dim TI,NL,NC
    
    ActiveSheet.Range("$A$9:$U$293").AutoFilter
    ActiveSheet.Range("$A$9:$U$293").AutoFilter Field:=3, Criteria1:="11"
    
    TI = ActiveSheet.Range("A9:U293").SpecialCells(xlVisible)
    NL = UBound(TI, 1)      'nombre de ligne: ligne1-->titre
    NC = UBound(TI, 2)      'nombre de colonne de 1 a 21 (pour U)
    'donc TI(NL,NC) est le tableau des donnees filtrees
    x = TI(2, 1)    'premiere donnee ligne2, colonne1
    xx = TI(2, 2)   'premiere donnee ligne2, colonne2
End Sub
0
JMichelC Messages postés 5 Date d'inscription lundi 9 mai 2016 Statut Membre Dernière intervention 5 juillet 2016
9 mai 2016 à 13:58
Merci f894009,

l'idée est super mais à priori ça ne fonctionne pas :/
je n'arrive qu'à stocker les titres et n'arrive pas à afficher la première ligne qui correspond au critère alors que lorsque je déroule le programme en mode débug je vois bien à l'écran la bonne sélection.
0
f894009 Messages postés 17189 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 mai 2024 1 705 > JMichelC Messages postés 5 Date d'inscription lundi 9 mai 2016 Statut Membre Dernière intervention 5 juillet 2016
9 mai 2016 à 14:05
Re,

Chez moi ca marche, donc mettez votre fichier sans donnees sensibles a dispo

Pour transmettre un fichier,
Veillez a ce qu'il n'y ait PAS DE DONNEES CONFIDEBTIELLES
il faut passer par un site de pièce jointe tel que cjoint.com

Allez sur ce site : https://www.cjoint.com/
Clic sur parcourir,
Cherche ton fichier,
clic sur ouvrir,
Clic sur "Créer le lien cjoint",
Copier le lien,
Revenir ici le coller dans une réponse...
0
JMichelC Messages postés 5 Date d'inscription lundi 9 mai 2016 Statut Membre Dernière intervention 5 juillet 2016
9 mai 2016 à 15:06
je ne comprends plus rien :)
je voulais vous faire un fichier sans données sensibles, j'ai donc simplifier le tout et là ça eu l'air de fonctionner... :/

En fait je transmets le cirteria1 avec une variable (strvariable).

et en refaisant des tests, je viens de remarquer que cela fonctionne que dans un cas, si les lignes sont les premières ligne du tableau si dans mon autofiltre la premiere ligne est la ligne n° 4 ça ne fonctionne pas ça me mets 'l'indice n'appartient pas à la selection'
0