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 :

Supprimer les lignes masquées


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut Supprimer les lignes masquées
    Bonjour,

    Je suis coincé dans ma macro, j'ai placé un filtre pour pouvoir masqué certaine ligne et je voudrais transférer seulement les données qui sont dans mes lignes visible. Donc pour être tranquille je voudrais directement supprimer ces lignes masqué. Je n'ai pas trouver la commande sur le net. Si quelqu'un peut m'aider merci.

    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
    'Extraction des collaborateurs'
        Sheets("Data Grpe").Select
        Columns("D:D").Select
        Selection.Copy
        Sheets.Add After:=Sheets(Sheets.Count)
        Columns("A:A").Select
        ActiveSheet.Paste
        ActiveSheet.Name = "Liste de noms"
        Dim Plage As Range, Cell As Range
        Set Plage = Range("A2:A" & Split(ActiveSheet.UsedRange.Address, "$")(4))
        Plage.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:= _
            Plage, Unique:=True
        Set Plage = Plage.SpecialCells(xlCellTypeVisible)
        Selection.EntireRow.Hidden = False
     
     
    'Ajout des collaborateurs dans la table "Temps TLM" '
    Dim E As Integer
    Dim F As Integer
    E = 3
    Do While Cells(E, 1) <> ""
        Cells(E, 1).Select
        Selection.Copy
    E = E + 1
        Sheets("Temps TLM").Select
    F = 11
            Do While Cells(3, F) <> ""
                F = F + 1
            Loop
        Cells(3, F).Select
        ActiveSheet.Paste
        Sheets("Liste de noms").Select
    Loop

  2. #2
    pgz
    pgz est déconnecté
    Expert confirmé Avatar de pgz
    Homme Profil pro
    Développeur Office VBA
    Inscrit en
    Août 2005
    Messages
    3 692
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Office VBA
    Secteur : Conseil

    Informations forums :
    Inscription : Août 2005
    Messages : 3 692
    Par défaut
    Bonjour.

    Pour supprimer une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    maFeuille.Rows(numLigne).Delete
    Bonne journée,

    PGZ

  3. #3
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut
    Je sais comment retirer une ligne quand on connait son numéro de ligne mais je voudrais qu'il me supprime les lignes qui sont masqué. Comme vous voyez dans ma macro juste au dessu, j'ai placé un filtre qui me masque les lignes dont je n'ai pas besoin mais je voudrais plutôt supprimer les lignes que les masqué ou sinon les masqué et rajouter la ligne qui va je pense passer par une fonction " si la ligne est masqué supprimer"

    Merci

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Février 2006
    Messages
    288
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 288
    Par défaut
    Salut,
    Voici 2 façons d'identifier des cellules masquées ou filtrées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    For Each c In Range("A1").CurrentRegion.SpecialCells(xlCellTypeVisible)
       ...traitement
    Next
    Ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Rows(Cells(i,j).Row).Hidden = False Then
    A adapter...

    Edit : ces codes signalent plutôt les lignes non masquées, le mieux est sans doute d'utiliser la dernière proposition en remplaçant False par True.

  5. #5
    Membre Expert Avatar de wilfried_42
    Homme Profil pro
    Auto-entrepreneur
    Inscrit en
    Novembre 2006
    Messages
    1 427
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Auto-entrepreneur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 427
    Par défaut
    Bonjour à tous

    Le plus rapide est de copier les lignes visible dans une autres feuille
    Supprimer la feuille et renommer la nouvelle feuille avec l'ancien nom

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Supp_masque()
         Dim w1 As Worksheet, w2 As Worksheet
         Dim mem_name As String
         mem_name = ActiveSheet.Name
         Set w1 = ActiveSheet
         Set w2 = Worksheets.Add(before:=w1)
         w1.Range("A1").CurrentRegion.Cells.SpecialCells(xlCellTypeVisible).Copy Destination:=w2.Range("A1")
         Application.DisplayAlerts = False
         w1.Delete
         Application.DisplayAlerts = True
         w2.Name = mem_name
         w2.Select
    End Sub

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/12/2006, 12h00
  2. [VB.NET]Comment supprimer les lignes d'un datagridView
    Par vijeo dans le forum Windows Forms
    Réponses: 1
    Dernier message: 01/09/2006, 17h54
  3. Supprimer les lignes vides d'un document Word
    Par Jerfa dans le forum VBA Word
    Réponses: 4
    Dernier message: 28/08/2006, 16h12
  4. Réponses: 2
    Dernier message: 04/05/2006, 13h10
  5. supprimer les lignes vides?
    Par VinnieMc dans le forum Langage
    Réponses: 5
    Dernier message: 27/02/2006, 14h01

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