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 :

Récupération Range suite Autofilter


Sujet :

Macros et VBA Excel

  1. #1
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut Récupération Range suite Autofilter
    Bonjour à tous,

    J'ai une feuille avec une mise en forme globale (titres diverse, dates, logo de la société...)
    Sur la plage B12:N12 j'ai un filtre (pas de tableau Excel, juste un filtre).

    Les données présentes sous la ligne de filtre ne sont pas contigus, les utilisateurs aiment laisser des lignes vides avant de ressaisir quelque chose :
    Nom : Capture.PNG
Affichages : 1134
Taille : 11,2 Ko

    Le but de la manœuvre est de traité plusieurs classeurs différents ayant la même structure, en récupérant les données pour les regrouper.

    J'active donc le filtre en colonne 3 (D) sur non vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    With ActiveSheet
        .Range("$B$12:$N$21").AutoFilter field:=3, Criteria1:="<>"
    End With
    Et je cherche ensuite à faire un Copy =>PasteSpecial xlPasteValues (car je ne souhaites prendre que les valeurs).
    Car les plages étant discontinues cela génère plusieurs Area donc plus simple (je trouve de cette manière).

    Mon souci, c'est que je n'arrive pas correctement à récupérer uniquement la plage des lignes visibles après filtre.
    Avec ceci, j'obtiens bien le nombre de lignes restantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count - 1
    Ce qui me permet de savoir si je doit traiter ou non.

    Déjà ce qui m'échappe c'est pourquoi ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .AutoFilter.Range.SpecialCells(xlCellTypeVisible).Count - 1
    Ne renvois pas le même résultat !

    Ensuite je fais ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim srcR As Range
    Set srcR = .AutoFilter.Range.SpecialCells(xlCellTypeVisible)
    Mais du coup plus possible de retirer la ligne de filtre en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set srcR = srcR.Resize(srcR.Rows.Count - 1).Offset(1)
    Puisqu'on se retrouve déjà avec un découpage de plage non contiguë.

    Je n'arrive pas à trouver la meilleure méthode pour ne récupérer que les lignes visibles sans la ligne de filtre, le top serais un plage directement non contiguë pour se passer du Copy/Paste et pouvoir directement utiliser le .value de la source et de la destination.

    Merci à vous

  2. #2
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut

    Bonjour,

    tenant compte uniquement des cellules visibles,
    les méthodes Range.Copy comme Range.Delete ne nécessitent donc pas SpecialCells(xlCellTypeVisible)
    A partir d'une plage filtrée, pas besoin de Paste car Copy en précisant son argument Destination fonctionne sans souci !

    La propriété Value ne fait pas le distinguo entre le visible et le caché …

    ______________________________________________________________________________________________________
    Je suis Paris, Charlie, Bruxelles ,…

  3. #3
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Arf !
    J'ai en effet omis un détail qui a son importance !
    Je ne veux que les valeurs et surtout pas la mise en forme
    D'où le Copy/PasteSpecial

    @Marc-L : Tu n'as pas dans un coin un truc efficace pour récupérer correctement la plage des lignes filtrées ?

  4. #4
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut



    Dans ce cas effectivement c'est un Copy puis un PasteSpecial.

    Pour une matrice directe je n'ai rien …
    Sinon utiliser la fonction de feuille de calculs SOUS.TOTAL(103 … (SubTotal en VBA)
    pour compter le nombre de lignes visibles et dimensionner une variable tableau
    pour l'alimenter via une boucle sur les Areas, mais je doute que ce soit plus rapide …

    Ou encore pour chaque ligne tester Rows(n°ligne).Hidden

  5. #5
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Hum !
    J'ai trouvé quelque chose de satisfaisant !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    .Range("$B$12:$N$21").AutoFilter field:=3, Criteria1:="<>"
                nbRowsVisible = .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count - 2
                If nbRowsVisible > 0 Then
                    Set srcR = .AutoFilter.Range
                    Set srcR = srcR.Resize(srcR.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible)
                End If
    nbRowsVisible est bon et correspond à ce qu'Excel affiche en statusbar.
    srcR ne contiens que les lignes visible sans la ligne de filtre, en Areas certes mais étant donné que j'utilise ensuite Copy/PasteSpecial c'est ok !

    Je laisse encore ouvert si jamais quelqu'un passant par là à quelque chose d'autre à proposer

  6. #6
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        With .Range("$B$12:$N$21")
             .AutoFilter 3, "<>"
             .Offset(1).Copy
    Si j'ai besoin de tester le nombre de lignes visibles, j'utilise SubTotal

  7. #7
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Heu, que se passe-t-il avec ton code si après filtre il n'y a pas de ligne

  8. #8
    Expert éminent
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Par défaut




    Soit en amont j'utilise un CountIf soit après le filtre un SubTotal

  9. #9
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Je ne comprends pas, est-ce que cela pose un soucis ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nbRowsVisible = .AutoFilter.Range.Columns(1).SpecialCells(xlCellTypeVisible).Count - 2
    If nbRowsVisible > 0 Then
    Pourquoi utiliser une fonction Worksheet plutôt qu'un simple test IF ?

  10. #10
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Hi cerede,
    Dans le cas où les vides sont inutiles, est-il nécessaire de les garder ?
    Si non, pourquoi pas les supprimer directement avant copie ?
    J'ai une petite idée qui me vient, mais il faut d'abord que je teste avant de dire une bêtise
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  11. #11
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Oula non !
    L'utilisateur qui à saisi et qui continuera sa saisie veut que ça reste comme il l'as rentré au départ !
    On ne doit rien modifier, juste récupérer les lignes non vide point.

    Pas de tri également, impossible au vu des données, ça modifierais ce qu'as saisi l'utilisateur.

  12. #12
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Re,
    alors voilà ce que je te propose, dans le cas où tu copies toutes tes données de la feuille Toto dans chaque classeur, alors copie les avec les lignes vides => oui oui (donc pas besoin d'utiliser d'autofilter pour les lignes vides)
    et sur ton classeur final une fois que tout est copié, utilises ce code (à adapter):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Columns(4).SpecialCells(xlCellTypeBlanks).Cells.EntireRow.Delete
    Sur un post auquel j'ai répondu j'avais donné ce code (cela peut toujours servir) - on peut gerer l'en-tête - mettre le nom du sous-dossier principal pour les classeurs à copier ou avoir le choix d'un autre sous-dossier via un imputbox => copie toutes les donnés en value (Marche sur MAC/PC)
    A adapter. Pricncipe : Fichier Maitre (récup tous les classeurs) -> Sous-Dossier TOTO -> Fichier1, Fichier2, Fichier3…
    (petit à Marc pour le Application.PathSeparator ; 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    Public sD As Variant, S As String 'à mettre tout en haut avant le 1er Sub
     
    Sub BackUp_Filiales()
    Dim Rep$, Fichier$, sD_Courant$, Choix_sD$, Rw As Range, R_Rw As Long, C_Rw As Integer
        Application.ScreenUpdating = False
     
        sepRep = Application.PathSeparator
     
        Entete& = 7 'Choisir le nombre de ligne pour l'entête => Entête des fichiers sources se trouvant dans le sous-dossier => pour récup. données
        sD_Courant$ = "Filiales" 'mettre le sous-dossier utilisé couramment
     
        Choix_sD = MsgBox("Voulez-vous utiliser le sous-dossier courant", vbYesNo) 'sD pour "sous-dossier"
     
        If Choix_sD = vbYes Then sD = sD_Courant Else sD = Application.InputBox("Mettre le nom du sous-dossier", "SOUS_DOSSIER")
     
    On Error Resume Next
        Dir (ThisWorkbook.Path & sepRep & sD & sepRep)
     
        If sD = False Then
            S = "Annulation de la copie"
            GoTo Reponse
        ElseIf sD = "" Then
            S = "Aucun nom de sous-dossier entré"
            GoTo Reponse
        ElseIf Err.Number <> 0 Then
            S = "Le dossier '" & sD & "' n'existe pas"
            Err.Clear: On Error GoTo 0: GoTo Reponse
        Else
            S = "La MAJ du fichier est OK" & vbCrLf & "Sous-dossier choisi : " & sD
        End If
     
        Rep = ThisWorkbook.Path & sepRep & sD & sepRep
        Fichier = Dir(Rep)
     
        Do While Fichier <> ""
            Workbooks.Open Workbooks(ActiveWorkbook.Name).Path & sepRep & sD & sepRep & Fichier
     
            With Sheets(1)
                Set Rw = .UsedRange.Resize(.UsedRange.Rows.Count - Entete).Offset(Entete)
                R_Rw = Rw.Rows.Count
                C_Rw = Rw.Columns.Count
                Feuil1.UsedRange.Resize(R_Rw, C_Rw).Offset(Feuil1.Range("A" & Rows.Count).End(xlUp).Row).Value = Rw.Value
            End With
     
            Set Rw = Nothing
            Application.Workbooks(Fichier).Close False
            ThisWorkbook.Activate
     
            Fichier = Dir
        Loop
     
        Application.ScreenUpdating = True
     
    Reponse:
        MsgBox S
        Application.Goto Cells(1), True
     
    End Sub
    Voilà j'attends ton retour en espérant avoir répondu à ton problème, sinon dit moi si il y a une donnée que j'ai pas compris
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  13. #13
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Re,
    En fait, je viens de donner une nouvelle réponse qui pourrait t'intéresser sur ce fil : http://www.developpez.net/forums/d15...ules-variable/, post #8 : http://www.developpez.net/forums/d15...e/#post8596307
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  14. #14
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Oui supprimer les lignes vides après est une idée que je vais tester !

    Par contre la solution que tu donne dans l'autre topic ne corresponds pas à mon besoin, en effet à partir du moment ou il y à autre chose sur la feuille (mise en page avec logo titre qui ne peuvent pas être placé dans l'entête), ça devient plus compliqué.

    Merci pour tes réponses

  15. #15
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Pour ma part, que ce soit pour exporter ou supprimer des lignes d'une liste de données suivant critères, j'utilise les filtres avancés (méthode AdvancedFilter) avec un critère nommé. Bien plus simple à mettre en place en VBA que le filtre simple je trouve.
    L'avantage supplémentaire c'est que pour connaître le nombre qui répond aux critères, on peut utiliser une fonction de la catégorie Base de données qui fonctionne de la même manière que les filtres avancéss avec zone des données et zone des critères.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  16. #16
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Plus simple l'AdvancedFilter ?
    Déjà le temps de filtre est plus long !
    En plus il faut définir une zone pour mettre les critères....

    @RyuAutodidacte : J'men doutais un peu, ceci ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .SpecialCells(xlCellTypeBlanks).Cells
    Tout simplement parce que il y à des cellules vide sur des lignes qui elles ne sont pas entièrement vides.....

  17. #17
    Membre émérite
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Par défaut
    Hello,

    à noter que cette zone de critères, tu peux la définir sur une autre feuille, pour ne pas
    toucher à la feuille qui contient les données.
    Cordialement,

  18. #18
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Yes, bien sur, mais il faut la créé car mes classeurs ne contiennent qu'une seule feuille.
    Et comme indiqué quand je vois le temps de filtre..... Comparé à un filtre classique pour lequel on décoche Vides, il n'y a pas photo c'est hallucinant !

  19. #19
    Membre Expert
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Par défaut
    Hi,
    Citation Envoyé par cerede2000 Voir le message
    Tout simplement parce que il y à des cellules vide sur des lignes qui elles ne sont pas entièrement vides.....
    Tu veux dire qu'il y a comme un(e) résidu/valeur fantôme dans les cellule vides??
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  20. #20
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Citation Envoyé par RyuAutodidacte Voir le message
    Hi,

    Tu veux dire qu'il y a comme un(e) résidu/valeur fantôme dans les cellule vides??
    Non pas du tout, mais dans une ligne, certaines cellules ne sont pas remplis, donc cette ligne dégage également, car dans la sélection xlCellTypeBlanks une des cellules de cette ligne est comprise !

    Bon ben je reste sur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    .Range("$B$12:$N$21").AutoFilter field:=3, Criteria1:="<>"
    nbRowsVisible = .AutoFilter.Range.Columns(3).SpecialCells(xlCellTypeVisible).Count - 1
    Set srcR = .AutoFilter.Range
    Set srcR = srcR.Resize(srcR.Rows.Count - 1).Offset(1).SpecialCells(xlCellTypeVisible)
    Qui me donne entière satisfaction, autant sur le nombre de ligne qu'il reste (nbRowsVisible) que sur la plage finale sélectionné sans la ligne d'entête

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Réponses: 8
    Dernier message: 03/08/2015, 11h43
  2. [Disque Dur] Récupération fichiers suite à crash disque dur
    Par lansing2 dans le forum Composants
    Réponses: 8
    Dernier message: 10/01/2012, 11h14
  3. Migration sybase V11 - Récupération Login suite à chgt serveur.
    Par Labienus dans le forum Adaptive Server Enterprise
    Réponses: 4
    Dernier message: 20/03/2008, 16h29
  4. Récupération convertion suite plantage
    Par Telemak dans le forum Autres Logiciels
    Réponses: 1
    Dernier message: 04/02/2006, 16h30
  5. Réponses: 4
    Dernier message: 09/01/2006, 01h24

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