IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

demasquer des colonnes avant copie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 128
    Par défaut demasquer des colonnes avant copie
    Bonjour à tous,

    j'essaie de copier un filtre d'une feuille sur l'autre. je bidouille pour désactiver les colonnes groupées. Et ça ne fonctionne pas bien.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Sub filtre_principal()
     
    Set wb = ThisWorkbook
    Set wbs = wb.Worksheets("CC2012")
    Set wbm = wb.Worksheets("février")
     
    With wbs
        Set PlageBase = .Range(.Cells(1, 1), .Cells(1, 1)).End(xlDown).Resize(, 39)
        Set utile = .Range(.Cells(4, 1), .Cells(.Rows.Count, 39).End(xlDown))
    End With
    ' ------------effectuer le filtre principal
     
    Call Tri_principal
     
    '------------enlève les éventuels anciens filtres
    With PlageBase
     
    If wbs.FilterMode = True Then
    .AutoFilter
    End If
    '------------effectue le filtre
    .AutoFilter Field:=5, Criteria1:=Array("1", "2", "3", "="), Operator:=xlFilterValues
    .AutoFilter Field:=6, Criteria1:=Array("="), Operator:=xlFilterValues, Criteria2:=Array(1, "2/1/2012")
    End With
     
     
    '-----------Affiche les colonnes colonnes groupées des feuilles
    wbs.Activate
    wbs.Select
    selection.EntireColumn.Hidden = False
    wbm.Activate
    wbm.Select
    selection.EntireColumn.Hidden = False
     
    '-----------Copie les lignes visibles du filtre
    Set Plagefiltre = utile.SpecialCells(xlCellTypeVisible)
    Plagefiltre.Copy wbm.Range("A5")
     
    wbs.ScrollColumn ("B:D")
    wbs.ScrollColumn ("L:N")
    wbs.ScrollColumn ("P:R")
    wbs.ScrollColumn ("Z:AJ")
    wbs.ScrollColumn ("Z:AJ")
    wbs.ScrollColumn ("AL:AN")
    wbm.ScrollColumn ("B:D")
    wbm.ScrollColumn ("L:N")
    wbm.ScrollColumn ("P:R")
    wbm.ScrollColumn ("Z:AJ")
    wbm.ScrollColumn ("Z:AJ")
    wbm.ScrollColumn ("AL:AN")
    End Sub
    J'ai essayé avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    wbs.column("B:D").Ungroup
    le problème c'est que ça dégroupe mais ça n'affiche pas du coup la copie des cellules masquées ne se fait pas.

    Donc je fais appel au forum une fois de plus merci d'avance.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2011
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2011
    Messages : 128
    Par défaut variation de problème
    Bon en fait j'ai trouvé une solution pour les colonnes masquées.

    N'y a t-il pas un moyen de copier sans se soucier des colonnes masquées?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Sub filtre_principal()
     
    Set wb = ThisWorkbook
    Set wbs = wb.Worksheets("CC2012")
    Set wbm = wb.Worksheets("février")
     
    wbs.Activate
    With wbs
        lastl = ActiveSheet.UsedRange.Rows.Count
        Set PlageBase = .Range(.Cells(1, 1), .Cells(1, 1)).End(xlDown).Resize(, 39)
        Set utile = .Range(.Cells(4, 1), .Cells(lastl, 39))
    End With
    ' ------------effectuer le Tri principal
     
    Call Tri_principal
     
    '------------enlève les éventuels anciens filtres
    With PlageBase
    If wbs.FilterMode = True Then
    .AutoFilter
    End If
    '------------effectue le filtre
    .AutoFilter Field:=5, Criteria1:=Array("1", "2", "3", "="), Operator:=xlFilterValues
    .AutoFilter Field:=6, Criteria1:=Array("="), Operator:=xlFilterValues, Criteria2:=Array(1, "2/1/2012")
    End With
     
    '-----------Affiche les colonnes groupées des feuilles
     
    wbs.Columns.Hidden = False
    wbm.Columns.Hidden = False
     
    '-----------Copie les lignes visibles du filtre
    Set Plagefiltre = utile.SpecialCells(xlCellTypeVisible)
    Plagefiltre.Copy wbm.Range("A5")
     
    With wbs
        .Columns("B:D").Hidden = True
        .Columns("L:N").Hidden = True
        .Columns("P:R").Hidden = True
        .Columns("Z:AJ").Hidden = True
        .Columns("AL:AN").Hidden = True
    End With
    With wbm
        .Columns("B:D").Hidden = True
        .Columns("L:N").Hidden = True
        .Columns("P:R").Hidden = True
        .Columns("Z:AJ").Hidden = True
        .Columns("AL:AN").Hidden = True
    End With
     
    End Sub

Discussions similaires

  1. COPY FROM + CSV + les titres des colonnes ?
    Par logiclogic dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 22/01/2013, 14h35
  2. [XL-2007] Automatisation de recherche dans colonne et copie des lignes
    Par looping06 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/08/2012, 17h19
  3. [XL-2010] Filtre selon une colonne et copie des données propres dans nouvelle feuille
    Par Kaera dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 08/12/2011, 00h43
  4. [VB6] Datagrid afficher ou cacher des colonnes par code
    Par soazig dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 06/02/2003, 18h19
  5. Dimensions des colonnes d'un TDBGrid
    Par osmose22 dans le forum C++Builder
    Réponses: 4
    Dernier message: 11/12/2002, 12h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo