filtre

sabrina64

XLDnaute Occasionnel
bonjour à tous et toutes

je dois creer une petite macro me permettant de filtrer une colonne et d imprimer la page obtenue.
Et ceci pour chaque valeur du filtre.

comment puis je savoir combien de valeur sont contenues dasn le filtre?
afin que je puisse faire afficher la feuille pour chaque valeur du filtre et ensuite l imprimer?

quelqu un peut il m aider
merci beuacoup
 

Pierrot93

XLDnaute Barbatruc
Re : filtre

Bonjour Sabrina

essaye peut être comme ceci :

Code:
Dim x As Integer
x = Range("A1:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Count

considère ta ligne de titre en ligne 1.

bonne journée
@+

Edition : rajouté - 1 à la fin afin de ne pas compter la ligne de titre
 

sabrina64

XLDnaute Occasionnel
Re : filtre

bonjour pierrot..
une erreur me survient
impossible de lire la propriete SpecialCells
je vais essayer de bidouiller quelque chose ) partir de cela

Private Sub CommandButton1_Click()
Sheets("Feuil1").Range("A1").Select
If ActiveSheet.AutoFilterMode Then
Else
Selection.AutoFilter
End If

Selection.AutoFilter Field:=1, Criteria1:="Mon texte"
End Sub

vous pensez cea possible?

merci
 

Pierrot93

XLDnaute Barbatruc
Re : filtre

Re

quand tu exécutes le code, la feuille active est bien celle ou se trouve le filtre, et il y a bien des cellules visiblesen colonne A ? sinon mets peut être un petit fichier exemple sans données confidentielles ce sera plus facile pour t'aider.

@+
 

sabrina64

XLDnaute Occasionnel
Re : filtre

merci...
la je travaille avec un fichier bidon car je n aurai pas accès au fichier final....justement car donnees confidentielles...

en fait j voudrais avoir une macro qui me permette d afficher une feuille excel en fonction de chaque valeur du filtre et de l imprimer...
 

Pièces jointes

  • td.xls
    35 KB · Affichages: 73

Pierrot93

XLDnaute Barbatruc
Re : filtre

Re

je ne vois pas le code que je t'ai donné dans ton classeur :

je viens de retester sur ton classeur macro ci dessous

Code:
Sub test()
Dim x As Integer
x = Range("A1:A" & Range("A65536").End(xlUp).Row).SpecialCells(xlCellTypeVisible).Count
End Sub

filtre en cellule A1, activé sur la recherche de "aa", ma variable x est bien valorisée par la valeur 7 (nombre de lignes visibles). J'ai Excel2003.

@+
 

sabrina64

XLDnaute Occasionnel
Re : filtre

comment pourrais je faire pour parcourir un à un les elements d un filtre?

car je pensais 1. de mander à l utilisateur de selectionner le filtre
2. afficher la feuille pour chaque valeur du filtre que j stockerai dans un nouvel onglet
3.imprimer tous les onglets
 

sabrina64

XLDnaute Occasionnel
Re : filtre

comment pourrais je faire pour parcourir un à un les elements d un filtre?

car je pensais 1. de mander à l utilisateur de selectionner le filtre
2. afficher la feuille pour chaque valeur du filtre que j stockerai dans un nouvel onglet
3.imprimer tous les onglets
 

sabrina64

XLDnaute Occasionnel
Re : filtre

c est encore moi alors j ai un code...mais g des petits soucis....

en fait j aimerais que les cellules de l entete sur lesquelles sont appliquées les flitres ne soient pas modifiées...faudrait le sfiger mmasi je ne sais pas faire...

et g un soucis lors de l impression...j ai du mal placé la commande..car ca m imprime les feuilles avec 1 ligne, pui s2....

pouvez cous m aider? :

Code:
Sub fonction()

Dim Plage As Range, Cel As Range, Ligne As Range
Dim Precedent
  Application.ScreenUpdating = False
  With Worksheets("Feuil1")
 
    Set Plage = .Range("A4", .Range("A65536").End(xlUp))
  End With

  Plage.CurrentRegion.Sort key1:=Plage.Cells(1, 1)
  
  For Each Cel In Plage
    If Cel <> Precedent Then
      With ThisWorkbook
        With .Worksheets.Add(After:=Worksheets(.Worksheets.Count))
          Set Ligne = .[A1]
          .Name = Cel
        End With
      End With
    End If
    
    Precedent = Cel
    If Cel <> "" Then
      Cel.EntireRow.Copy Ligne
      Set Ligne = Ligne.Offset(1, 0)
    End If
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
  Next Cel
  
  Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Réponses
15
Affichages
628
Réponses
4
Affichages
402

Statistiques des forums

Discussions
312 685
Messages
2 090 938
Membres
104 703
dernier inscrit
romla937