Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2010 Filtrer copier coller valeur

erwanhavre

XLDnaute Occasionnel
Bonjour encore encore besoin de vous
je cherche par vba à filtrer une colonne, copier uniquement les lignes filtrées et insérer dans la feuille HS ligne 2

2 points important la macro doit marcher sur toutes les feuilles et ne rien copier insérer si il n'y à rien dans la colonne filtrée
merci
 

Pièces jointes

  • Classeur2.xlsm
    18.6 KB · Affichages: 32

erwanhavre

XLDnaute Occasionnel
bonjour
il s'agit bien de filtrer à partir de la cellule D5 et de récupérer uniquement les lignes avec des valeurs à inserer à la ligne 2 de la feuille HS
prendre en compte que plusieurs onglets aurons cette macro
mercii
 

job75

XLDnaute Barbatruc
Bonjour erwanhavre, Lone-wolf,

Voyez le fichier joint et cette macro dans ThisWorkbook :
Code:
Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim w As Worksheet
Set w = Sheets("hs")
If Sh.Name = w.Name Or LCase(Trim(Sh.Cells(Target.Row, 1))) <> "date" Then Exit Sub
With Sh.Cells(Target.Row, 1).CurrentRegion
    If Target.Column > .Columns.Count Then Exit Sub
    Application.ScreenUpdating = False
    Cancel = True
    w.Cells.Clear 'RAZ
    .AutoFilter Target.Column, "<>" 'filtre automatique
    .Copy w.[A1] 'copier-coller
End With
If Sh.FilterMode Then Sh.ShowAllData 'affiche tout
w.[A1].CurrentRegion.Sort w.Columns(Target.Column), xlAscending, Header:=xlYes 'tri (comme mentionné)
w.Columns.AutoFit 'ajustement largeur
With w.UsedRange: End With 'actualise les barres de défilement
w.Activate 'facultatif
End Sub
A+
 

Pièces jointes

  • Classeur2(1).xlsm
    25.6 KB · Affichages: 33

erwanhavre

XLDnaute Occasionnel
Bonjour à tous
ce n'est pas ici que j'ai besoin du double clics juste filtrer à partir de la cellule D5 copier les valeur différentes de zéro et les insérer dans la feuille HS
C'est parfois pas facile d'expliquer ce que l'on à besoins
merci à vous
 

job75

XLDnaute Barbatruc
Bonjour erwanhavre, Lone-wolf,

Le double-clic va très bien pour lancer la macro.

Si l'on veut filtrer uniquement la colonne D il suffit de compléter le test :
Code:
If Sh.Name = w.Name Or LCase(Trim(Sh.Cells(Target.Row, 1))) <> "date" Or Target.Column <> 4 Then Exit Sub
Fichier (2).

A+
 

Pièces jointes

  • Classeur2(2).xlsm
    26.1 KB · Affichages: 23

job75

XLDnaute Barbatruc
Re,
en fait je veux insérer ce code dans un module (macro) c'est pour cela que le double clics ne m’intéresse pas ici
Il suffisait de le dire ! Voyez ce fichier (3) et cette macro dans Module1 :
Code:
Sub Filtrer()
Dim col%, w As Worksheet, deb As Range
col = 4 'numéro d'ordre de la colonne à filtrer
Set w = Sheets("hs")
With ActiveSheet
    Set deb = .Cells.Find("date", , xlValues, xlPart)
    If .Name = w.Name Or deb Is Nothing Then Exit Sub
    With deb.CurrentRegion
        If .Columns.Count < col Then Exit Sub
        Application.ScreenUpdating = False
        w.Cells.Clear 'RAZ
        .AutoFilter col, "<>" 'filtre automatique
        .Copy w.[A1] 'copier-coller
    End With
    If .FilterMode Then .ShowAllData 'affiche tout
End With
w.[A1].CurrentRegion.Sort w.Columns(col), xlAscending, Header:=xlYes 'tri (comme mentionné)
w.Columns.AutoFit 'ajustement largeur
With w.UsedRange: End With 'actualise les barres de défilement
w.Activate 'facultatif
End Sub
A+
 

Pièces jointes

  • Classeur2(3).xlsm
    28.6 KB · Affichages: 21

Discussions similaires

Réponses
12
Affichages
441
Réponses
56
Affichages
2 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…