Filtre Automatique ==> Array

tora

XLDnaute Occasionnel
Bonjour a tous,

J'ai actuellement une page qui ne cesse de recevoir des nouvelles lignes de données
( à l'heure actuelle, 26 colonnes pour environ 300 lignes )
J' utlise un filtre automatique.

Mon problème serait d'arriver à remplir un Array avec la sélection conditionnelle
retournée par le filtre automatique
( ainsi que les index de lignes/colonnes correspondants; au moins les lignes)
pour traiter ces infos dans un Userform ...

Comment pourrais-je donc récuperer cette plage conditionnée par mon filtre ?

Merci à tous !

:)
 
Dernière édition:

Catrice

XLDnaute Barbatruc
Re : Filtre Automatique ==> Array

Bonjour,

Je ne sais pas exactement ce que tu veux faire mais ci-joint un exemple qui recupere l'adresse de la zone filtrée
 

Pièces jointes

  • Classeur1.xls
    23.5 KB · Affichages: 61
  • Classeur1.xls
    23.5 KB · Affichages: 61
  • Classeur1.xls
    23.5 KB · Affichages: 65

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Filtre Automatique ==> Array

Bonjour,

Code:
Private Sub UserForm_Initialize()
 i = 0
 For Each c In Range("A2", [A65000].End(xlUp)).SpecialCells(xlCellTypeVisible)
   Me.ListBox1.AddItem
   Me.ListBox1.List(i, 0) = c.Row
   Me.ListBox1.List(i, 1) = c.Value
   Me.ListBox1.List(i, 2) = c.Offset(, 1).Value
   i = i + 1
 Next c
End Sub

JB
Formation Excel VBA JB
 

JNP

XLDnaute Barbatruc
Re : Filtre Automatique ==> Array

Bonjour Tora, Catrice, Jacques :),
Une ébauche en 2 dimensions avec une entête filtrée
Code:
Sub Test()
Dim Tableau()
ReDim Tableau(2, Range("A65536").End(xlUp).Row - 2)
Dim I As Integer, J As Integer
J = 0
I = 2
While Cells(I, 1) <> ""
If Rows(I & ":" & I).EntireRow.Hidden = False Then
[COLOR=blue]  Tableau(0, J) = I[/COLOR]
[COLOR=blue]  Tableau(1, J) = Cells(I, 1)[/COLOR]
[COLOR=blue]  Tableau(2, J) = Cells(I, 2)[/COLOR]
    J = J + 1
Else
    ReDim Preserve Tableau(2, UBound(Tableau, 2) - 1)
End If
I = I + 1
Wend
For I = 0 To UBound(Tableau, 2)
    MsgBox (Tableau(0, I) & " " & Tableau(1, I) & " " & Tableau(2, I))
Next I
End Sub
La partie bleue peut être remplacée par une boucle, mais avec 26 colonnes, cela va te faire 27 dimensions, nous en avions déjà parlé :D... On pourrait peut-être plutôt concaténer chaque ligne avec le N° de ligne dans un tableau à une dimension avec un séparateur à convenir, et récupérer chaque valeur en Split dans l'USF.
Bonne journée :cool:
 

tora

XLDnaute Occasionnel
Re : Filtre Automatique ==> Array

Bon alors,

Merci encore ( ça coûte pas plus cher ... pourquoi se priver ? ;) )

Je vais conserver :

.SpecialCells(xlCellTypeVisible)

et l'arranger à ma sauce avec une boucle et une plage
correctement calibrée .....

Pas encore vraiment mis au point à l'heure actuelle mais
je sens le potentiel donc ça va émerger sous peu ....

Grand merciiiiiiiiiiiiiii !!

@+ ;):);):);)
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 026
Membres
104 008
dernier inscrit
jojo1966