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 :

[E-02] Sélection de plusieurs lignes ayant une cellule identique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut [E-02] Sélection de plusieurs lignes ayant une cellule identique
    Bonjour à tous et toutes,

    Je suis débutant en VBA et je cherche à réaliser une macro qui doit sans doute être simple et/ou expliquée ailleurs mais je n'ai pas trouvé.

    Voici donc ma question: Excel version XP

    Je dispose d'un tableau avec des cellules que j'ai classées (grâce à une macro ) dans l'ordre alphabétique.
    Je souhaiterais maintenant pourvoir sélectionner les lignes dont les cellules de la colonne "B" sont identiques (je les ai classé dans l'ordre alphabétique précédement donc elles se suivent). Mon problème est que je n'ai pas le nombre de lignes exact.

    J'espère avoir été assez clair.
    Merci d'avance pour votre réponse.

  2. #2
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    Bonjour,

    Voici un code fait vite fait
    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
    Sub selectionplage()
     
    Dim premierecellule As Integer
    Dim dernierecellule As Integer
     
     
    '1ère ligne où commence les données
    i = 2
    premiereligne = i
    'tu définies que la dernière ligne à chercher commence à la ligne suivante
    derniereligne = i + 1
     
    'tu boucle tant que les 2 valeurs sont égales
    Do While Range("B" & derniereligne) = Range("B" & premiereligne)
     
        'en incrémentant à chaque passage la ligne
        derniereligne = derniereligne + 1
     
    Loop
     
    'tu selectionne de la première cellule à la dernière trouvée -1
    'sinon tu vas selectionner la première différente et non la dernière égale !
    Range(Cells(premiereligne, 2), Cells(derniereligne - 1, 2)).Select
     
    End Sub
    Je pense qu'il y a des façons plus élégantes pour faire ce que tu cherche mais le principal, c'est que ça fonctionne

    Tu peux modifier la ligne à partir de laquelle tu veux commencer la recherche:

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    Merci beaucoup oOVaveOo pour ta réponse rapide.

    Ton code me permet en effet de sélection les premières cellules identiques de la colonne. C'est parfait.

    J'ai malheureusement une remarque que j'ai du mal exprimer :
    je voudrais que la sélection prenne tout la ligne.

    ex:

    ABCD
    1234
    a2cd
    x3xx

    J'aimerais que les 2 lignes soit sélectionnées:

    1234
    a2cd

    Ton code m'a permis de sélectionner les deux "2" uniquement.

    J'imagine que c'est la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(premiereligne, 2), Cells(derniereligne - 1, 2)).Select
    qu'il faut modifier mais je ne sais pas quoi changer.

    Merci encore

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    en fait, je ne sais pas quoi mettre à la place du 2 dans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(premiereligne, 2), Cells(derniereligne - 1, 2)).Select
    Si j'ai bien compris, c'est ce que je dois changer.
    Je veux mettre "B:N" pour lui dire de prendre de la colonne B à N mais ça ne fonctionne pas.

  5. #5
    Membre chevronné
    Inscrit en
    Octobre 2008
    Messages
    273
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Octobre 2008
    Messages : 273
    Par défaut
    Re salut,

    N étant la 14ème colonne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(Cells(premiereligne, 2), Cells(derniereligne - 1, 14)).Select

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 10
    Par défaut
    Génial!!

    Merci beaucoup.
    En plus, grâce à tes explications entre les lignes de code, je viens de gagner de l'XP en VBA (Do While Loop, Integer, range).

    Comme prévu, je n'étais pas très malin 14 c'était pas sorcier.

    En tout cas, c'est résolu et c'est exactement ce que je recherchais.
    Merci

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

Discussions similaires

  1. Plusieurs lignes dans une cellules
    Par kanabzh29 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/07/2008, 16h33
  2. FlexGrid ecrire sur plusieur ligne dans une cellule
    Par label55 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 05/02/2008, 14h54
  3. plusieurs lignes sur une cellule du stringgrid
    Par neuneu1 dans le forum Débuter
    Réponses: 4
    Dernier message: 06/08/2007, 22h35
  4. [MySQL] Sélection de plusieurs lignes en une requête
    Par kalash_jako dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 05/05/2006, 19h43
  5. Texte sur plusieurs lignes dans une cellule de JTable
    Par JeanECN dans le forum Composants
    Réponses: 3
    Dernier message: 10/04/2006, 17h20

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