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 :

Macro de recherche sur 2 colonnes en excel


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 7
    Points
    7
    Par défaut Macro de recherche sur 2 colonnes en excel
    Bonjour à tous,

    Alors voilà j'aimerai faire une recherche sur 2 colonnes en excel. Sur le fichier en annexe j'aimerai faire une recherche des données de troupeau-id-1 dans la colonnes troupeau-id-2 et ensuite une fois que je l'ai trouvé je compare pour voir si le nombre dans la colonne brebis-1 est le même que dans la colonne brebis-2

    Un exemple, on va dire que avec ma macro de recherche je suis arrivé à la cellule A8 qui contient BE25012575. Je vais donc aller chercher mon id dans la colonne troupeau-id-2 et je vois que lui se trouve en E9. A partir de cette recherche j'aimerai comparer les deux nombres pour les colonnes brebis et donc on voit que en B8 le nombre est 72 et que en F9 le nombre est 72 aussi Donc c'est OK

    Donc voilà un peu ce que j'aimerai pouvoir faire c'est de comparer ces deux chiffres et de vérifier si ils sont les mêmes.

    Donc j'ai commencé ce code-ci en regardant à gauche à droite:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Find_Matches()
     
    Dim CompareRange As Variant, x As Variant, y As Variant
     
    Set CompareRange = Range("E2:E291")
     
        For Each x In Selection
            For Each y In CompareRange
                If x = y Then x.Offset(0, 12) = x
            Next y
        Next x
    End Sub
    Donc voilà ici j'arrive à faire ma recherche mais une fois que j'arrive sur le bon X et le bon Y je n'arrive pas à utiliser leurs coordonnées pour comparer les deux colonnes brebis.

    pouvez-vous m'aider ?

    Un grand merci d'avance ^^
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 13
    Points : 62
    Points
    62
    Par défaut Peut être la solution
    Bonsoir ,

    Regarde ce code ... Peut être retrouvera-tu tes brebis !

    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 brebisperdu()
     
    Dim numéro As Integer
    Dim brebis2 As Range
    Dim ligne As Integer
    Dim col As Integer
     
    brebis1 = Selection
     
        Set brebis2 = Range("E2:E291").Find(brebis1, lookat:=xlWhole)
     
            If brebis2 Is Nothing Then
                MsgBox ("pas trouvé")
            Else
                ligne = brebis2.Row
                col = brebis2.Column
                MsgBox ("trouvé : ligne = " & ligne & " , colonne = " & col)
        End If
     
    End Sub

  3. #3
    Expert éminent sénior
    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
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    vu la proposition d'Eric accomplissant la moitié du travail et quand on n'arrive pas à atteindre son but en pur VB,
    mieux vaut reconsidérer la problématique via des fonctions d'Excel, même si elles répondent partiellement au besoin,
    c'est d'autant plus rapide et efficace !

    Voici une p'tite démonstration indiquant dans la colonne C le numéro de ligne dans le tableau ID_2
    correspondant aux colonnes A et B :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub Demo()
        With Feuil1
            Application.ScreenUpdating = False
            .Cells(5).CurrentRegion.Columns(1).Offset(, 3).Formula = "=E1&""¤""&F1"
     
            With .Cells(1).CurrentRegion.Columns(1).Offset(, 2)
                 .Formula = "=MATCH(A1&""¤""&B1," & .Parent.Cells(8).CurrentRegion.Address & ",0)"
                 .Formula = .Value
            End With
     
            Union(.Cells(3), .Cells(8).CurrentRegion).Clear
        End With
    End Sub
    Sans correspondance, la colonne C affiche #N/A. Evidemment en adaptant la formule, OUI comme NON peuvent s'afficher …

    _____________________________________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2013
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Mars 2013
    Messages : 9
    Points : 7
    Points
    7
    Par défaut
    Bonjour à tous les deux,

    Un grand merci pour vos réponses elles m'ont été toutes les deux très utiles pour résoudre mon problème =)

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

Discussions similaires

  1. Macro VBA recherche sur un colonne
    Par chacalpuant1987 dans le forum Excel
    Réponses: 6
    Dernier message: 11/06/2015, 15h33
  2. Réponses: 0
    Dernier message: 17/03/2015, 12h40
  3. Réponses: 5
    Dernier message: 05/02/2015, 07h36
  4. [VBA/Excel]recherche sur 2 colonnes
    Par rodrigue62 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/03/2007, 17h35
  5. [VBA-E] Recherche sur plusieurs colonnes ?
    Par Kokito dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 14/11/2006, 13h27

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