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élection multiple de cellules selon un critère [XL-2000]


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
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Par défaut Sélection multiple de cellules selon un critère
    Bonjour,
    je voudrai pouvoir sélectionner automatiquement un ensemble de cellules qui ont la même valeur (par exemple la valeur 1). Je travaille avec des feuilles qui ont un grand nombre de lignes et de colonnes.
    Pouvez-vous m'aider en me proposant une macro qui convient ?
    Merci !

  2. #2
    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,

    avec un exemple ca aurait été mieux, as tu regardé les filtres ? si ça te convient on poura les faires en Macro

  3. #3
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Par défaut
    Pour un exemple c'est assez simple, imagine une feuille excel avec plein de cases remplies avec des mots. Je cherche à sélectionner d'un coup toutes les cases qui ont le mot "bidule".

    C'est un peu le même esprit que la mise en forme conditionnelle (pour colorier en bleu toutes les cases qui ont une certaines valeur), sauf que là je ne veux pas les colorier mes juste les sélectionner (en fait ensuite je veux toutes les supprimer d'un coup avec décallage vers la gauche, mais c'est du détail).

    Je ne suis pas sur que les filtres conviennent pour ça. Tu crois ?

  4. #4
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonsoir à tou(te)s, arisToT,
    tu peux adapter ce code à tes besoins mais si tu as vraiment beaucoup de ligne, ça risque d'etre long
    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
    Sub Macro1()
    Dim cls As Range, x As Long, cel As Range, nblg As Long, nbcol As Long, plage As Range, trouve As String
    With Sheets("feuil1")
       nblg = .Range("a" & .Rows.Count).End(xlUp).Row
       nbcol = .Range("IV4").End(xlToLeft).Column
       For x = 1 To nbcol
          Set plage = .Range(.Cells(1, x), .Cells(nblg, x))
          For Each cel In plage
             Set cls = plage.Find("bidule")
             If Not cls Is Nothing Then
                Set plage = .Range(.Cells(cls.Row + 1, x), .Cells(nblg, x))
                If trouve = "" Then
                   trouve = cls.Address
                Else
                   trouve = trouve & "," & cls.Address
                End If
             End If
          Next cel
       Next x
      .Range(trouve).Select
    End With
    End Sub
    Bonne soirée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Par défaut
    Merci casefayere !
    Je sens qu'on se rapproche...
    malheureusement l'éxécution fait une erreur 1004 "définie par l'application ou par l'objet", et le débogage surligne vers la fin la ligne Ca ne doit pas être grand chose, mais du coup je suis -encore - bloqué...
    Merci de votre aide.

  6. #6
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    peux-tu mettre ton code complet, car j'ai testé et il n'y avait pas de problème.

    A +
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  7. #7
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Citation Envoyé par arisToT Voir le message
    je veux juste les sélectionner (en fait ensuite je veux toutes les supprimer d'un coup avec décallage vers la gauche, mais c'est du détail).
    Bonjour,

    Pour réaliser cela, il n'est pas nécessaire de sélectionner les cellules
    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
    Sub test_fring()
    Dim C As Range, Motatrouver As String
     
    Application.ScreenUpdating = False
     
    Motatrouver = "bidouille"
     
    Do
        Set C = Sheets(1).UsedRange.Find(Motatrouver, LookIn:=xlValues)
        If Not C Is Nothing Then C.Delete Shift:=xlToLeft
    Loop While Not C Is Nothing
     
    Application.ScreenUpdating = True
     
    End Sub

  8. #8
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour fring, re le forum, Theze, arisToT
    Avec son select, j'avais enfin trouvé la solution que je vais mettre mais je viens de regarder et tester ton code, aucun problème, d'autant que tu n'es pas obligé de passer par un string qui risque de poser des problèmes de longueur
    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
    Sub SelectNiet()
    Dim cls As Range, x As Long, y As Long, cel As Range, nblg As Long, nbcol As Long, plage As Range, trouve As String
    Dim col As String
    With Sheets("e")
       y = 1
       nbcol = .Range("A1").SpecialCells(xlCellTypeLastCell).Column
       For x = 1 To nbcol
          col = Split(.Cells(1, x).Address, "$")(1)
          nblg = .Range(col & .Rows.Count).End(xlUp).Row
          Set plage = Range(col & nblg, Range(col & nblg).End(xlUp))
          For Each cel In plage
             If .Cells(y + 1, x) <> "niet" And y < nblg Then
                y = y + 1
             End If
             Set plage = .Range(.Cells(y, x), .Cells(nblg, x))
             'Set cls = Nothing
             Set cls = plage.Find("niet", .Cells(y, x), , , xlByColumns)
             If Not cls Is Nothing Then
                If trouve = "" Then
                   trouve = cls.Address
                Else
                   trouve = trouve & "," & cls.Address
                End If
                y = cls.Row
             End If
          Next cel
          y = 1
       Next x
       .Range(trouve).Select
    End With
    End Sub
    Bonne soirée à tou(te)s
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  9. #9
    Membre averti
    Inscrit en
    Décembre 2010
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 16
    Par défaut
    C'est super les gars, vous êtes des chefs !
    Merci vraiment !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment colorier les cellules selon un critère,
    Par abouilyas dans le forum VB 6 et antérieur
    Réponses: 0
    Dernier message: 06/07/2011, 06h34
  2. [XL-2000] Modifier une cellule selon certains critères
    Par Nicolas Plan dans le forum Excel
    Réponses: 2
    Dernier message: 28/04/2009, 10h18
  3. Sélection multiples de cellules avec des variables
    Par John81 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 31/08/2008, 20h12
  4. recherche du nombre de cellule selon 2 critères
    Par lee.tsunamy dans le forum Excel
    Réponses: 1
    Dernier message: 18/06/2008, 01h48
  5. Tronquer une cellule selon un critère
    Par clad523 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 10/04/2008, 16h58

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