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

Excel Discussion :

Repérer des lignes ayant plusieurs valeurs en commun


Sujet :

Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 42
    Points : 28
    Points
    28
    Par défaut Repérer des lignes ayant plusieurs valeurs en commun
    Bonjour,

    je souhaiterais transcrire l'algorithme suivant en VBA, mais, étant d'une ignorance totale dans ce domaine, je sollicite l'aide d'un bienveillant faux-rhumeur...

    Voici le problème : J'ai deux feuilles - appelons-les feuille N°1 et feuille N°2, contenant chacune une liste d'enregistrements.

    POUR toutes les lignes de la feuille N°1

    SI existe, dans la feuille N°2, une ligne
    - dont le contenu des champs C et D est égal au contenu des champs A et B de la ligne en cours sur la feuille N°1
    ET
    - dont le contenu du champ F est différent du contenu du champ E de la ligne en cours sur la feuille N°1
    ALORS
    copier dans une troisième feuille chacune de ces lignes

    FIN SI

    FIN POUR

    Voilà... J'ai regardé ce qui existait dans d'autres sujets, mais rien ne me permet de répondre totalement au problème. Donc si vous avez des suggestions, je suis preneur !

    Merci !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2008
    Messages : 357
    Points : 417
    Points
    417
    Par défaut
    Bonjour,

    ce code à l'air de fonctionner, n'étant pas expert en VBA, il y a surement plus simple

    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
    Private Sub CommandButton1_Click()
    i = 1
    For Each cel In Range("A1:A10")
        For Each celbis In Worksheets("Feuil2").Range("A1:A10")
    If cel = celbis.Offset(0, 2) And cel.Offset(0, 1) = celbis.Offset(0, 3) And cel.Offset(0, 4) <> celbis.Offset(0, 5) Then
    Rows(cel.Row).Copy
    Worksheets("Feuil3").Activate
    Worksheets("Feuil3").Rows(i).Select
    ActiveSheet.Paste
    i = i + 1
    Worksheets("Feuil2").Activate
    Worksheets("Feuil2").Rows(celbis.Row).Copy
    Worksheets("Feuil3").Activate
    Worksheets("Feuil3").Rows(i).Select
    ActiveSheet.Paste
    i = i + 1
    Worksheets("Feuil1").Activate
    End If
        Next
    Next
    End Sub

  3. #3
    Membre averti Avatar de Dinytro
    Profil pro
    Inscrit en
    Août 2003
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 392
    Points : 395
    Points
    395
    Par défaut
    Pour ma part, j'aurais précisé la feuille dans le premier
    Car le code que tu donnes ne semble fonctionner que si la macro est lancée depuis la feuille 1.
    Je ne suis personnellement pas fan des offset mais c'est une histoire de gout.

    Mais c'est du chipotage là...

Discussions similaires

  1. [XL-2010] Comparer des valeurs dans deux colonnes, repérer des lignes, pourcentage
    Par vwtroudy dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/06/2015, 09h38
  2. Réponses: 7
    Dernier message: 12/02/2014, 17h12
  3. Réponses: 4
    Dernier message: 08/05/2012, 10h58
  4. [VBA-E] Extraire des lignes depuis plusieurs classeurs fermés
    Par stoof dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/05/2007, 12h26
  5. Réponses: 2
    Dernier message: 09/01/2006, 16h10

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