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 :

Sélectionner toutes les lignes répondant à la même condition


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2018
    Messages : 18
    Par défaut Sélectionner toutes les lignes répondant à la même condition
    Bonjour,

    J'ai un fichier excel contenant plusieurs lignes et colonnes. Une des colonnes contient un chiffre allant de 1 à 16. J'aimerais sélectionner toutes les lignes de la feuille où cette colonne est supérieure ou égale à 8. J'ai fait le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub a()
     
    For i = 1 To 200
     
        If Cells(i, 13) >= 8 Then
            Range(Cells(i, 1), Cells(i, 15)).Select
     
        End If
     
     
    Next
     
    End Sub
    Le problème c'est que quand j'exécute la macro, elle ne me sélectionne que la ligne avec la valeur la plus grande (16). Or, dans ma feuille, 4 lignes contiennent une valeur supérieure ou égale à 8 dans cette colonne.

  2. #2
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Par défaut
    Bonjour
    Intéresse-toi à la méthode Union (rubrique Application.Union, méthode de ton aide interne VBA) et applique-là.

  3. #3
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    sélectionner pour faire quoi ?

    suivant la réponse : un simple filtre automatique basé sur un Critéria1 >=8 et récupération de la plage filtrée
    ou encore, suivant la réponse : filtre avancé avec export des résultats (ou pas)

    Bref, un peu plus de précisions sur l'objectif de ton opération

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2018
    Messages : 18
    Par défaut
    Je veux pouvoir les sélectionner pour les copier dans une autre feuille de mon classeur. J'ai trouvé la méthode de copie vers une autre feuille mais le souci c'est que je n'arrive pas à sélectionner toutes les lignes que je devrais copier...

  5. #5
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par elmer005 Voir le message
    Je veux pouvoir les sélectionner pour les copier dans une autre feuille de mon classeur.
    J'ai trouvé la méthode de copie vers une autre feuille mais le souci c'est que je n'arrive pas à sélectionner toutes les lignes que je devrais copier...
    Pour copier, tu n'as pas besoin de sélectionner. Je te l'ai déjà expliqué dans un autre sujet.
    https://www.developpez.net/forums/d1...on-d-colonnes/
    Inutile aussi de les copier toutes ensemble. Il est plus simple de les copier une par une.

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2018
    Messages : 18
    Par défaut
    En fait, j'arrive à sélectionner et copier mes lignes dans la seconde feuille. Mais, quand elles se collent dans la seconde, mes cellules (qui étaient fusionnées dans la première feuille) ne sont plus fusionnées, même en utilisant le collage spécial... Je sens que je ne suis pas loin de réussir mais je tourne en rond...

  7. #7
    Expert confirmé

    Homme Profil pro
    Curieux
    Inscrit en
    Juillet 2012
    Messages
    5 169
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Curieux
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2012
    Messages : 5 169
    Billets dans le blog
    5
    Par défaut
    Citation Envoyé par joe.levrai Voir le message
    filtre avancé avec export des résultats
    TUTO filtres avancés

    avec 5 lignes de code VBA c'est fait, aides-toi de l'enregistreur de macro. Si tu n'arrives pas à adapter, reviens avec la base de ton code VBA pour qu'on t'aide


    Sinon, filtre automatique (Autofilter) comme je l'avais mentionné. Et ensuite .Copy de la plage filtrée.
    Là encore, l'enregistreur de macro est ton GRAND ami

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2018
    Messages : 18
    Par défaut
    Le problème c'est que je débute et 5 lignes pour moi, c'est déjà un défi ! J'ai déjà essayé les filtres avancés mais je n'obtiens pas ce que je veux...

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 374
    Billets dans le blog
    8
    Par défaut re
    re
    une petite astuce pour ce servir de autofilter meme si la colonne A et/ou plus sont vide(s)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub test()
        If [A1].Value = "" Then [A1].Value = "xxx"
        Set plage = Sheets(1).Range("A1:O" & Sheets(1).Cells(Rows.Count, 13).End(xlUp).Row)
        With plage
            .AutoFilter Field:=13, Criteria1:=">=8"
            If [A1].Value = "xxx" Then [A1].Value = ""
            MsgBox .SpecialCells(xlVisible).Address
            .AutoFilter
        End With
    End Sub
    a la place du msgbox tu n'a plus qu'a faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .copy destination:=sheets("toto").range("A1") par exemple
    pour comprendre pour quoi l'astuce de la cellule A1 tu n'a qu'a enlever la 1ere ligne "if[A1].Value ....." et tester avec la colonne A vide
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2018
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2018
    Messages : 18
    Par défaut
    Merci !!!

    Je teste ça et je reviens vers vous si besoin !

Discussions similaires

  1. [XL-2016] "Bouton commande modifier" Problème modifie toutes les lignes portant le même nom
    Par laurence farinaud dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 07/12/2017, 23h01
  2. Réponses: 0
    Dernier message: 10/10/2013, 12h29
  3. Réponses: 4
    Dernier message: 24/01/2013, 14h57
  4. Voir tout les onglets sur une même ligne
    Par bnreb10 dans le forum AWT/Swing
    Réponses: 9
    Dernier message: 09/08/2006, 11h08
  5. [DBGrid] Changer la couleur de toutes les lignes sélectionnées
    Par Manopower dans le forum Composants VCL
    Réponses: 6
    Dernier message: 03/01/2006, 09h58

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