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 :

Recherche valeurs d'une colonnes dans une autre colonne [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Recherche valeurs d'une colonnes dans une autre colonne
    Bonjour,

    J'ai un problème, j'ai besoin de comparer les valeurs contenues dans une colonne afin de voir si elles sont dans une deuxième colonne.

    Si la valeur de la première colonne est dans la deuxième colonne alors on inscrit "OK" dans la troisième colonne, autrement on inscrit "aucune référence".

    Voir photo en PJ.

    Ma macro que j'ai tenté de réaliser ne marche pas.

    Ma macro:

    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 comparaison_colonnes2()
    Dim i As Long, e As Long
     
       Worksheets("Feuil1").Activate
     
        For i = 2 To Range("A2").End(xlDown).Row
            For e = 2 To Range("B2").End(xlDown).Row
                If Cells(i, 1).Value = Cells(e, 2).Value Then
                Cells(e, 2).Offset(0, 1).Value = "OK"
                Else
                Cells(e, 2).Offset(0, 1).Value = "aucune référence"
                End If
            Next e
        Next i
    End Sub
    Si quelqu'un peut m'aider svp.
    Images attachées Images attachées  

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 865
    Points
    3 865
    Par défaut
    Bonjour
    avec ce code (pour trois lignes)

    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 comparaison()
    '
    Dim VALEURA As String, VALEURB As String
    '
    For i = 1 To 3
    VALEURB = Range("b" & i).Value
    For j = 1 To 3
    VALEURA = Range("A" & j).Value
    If VALEURA = VALEURB Then
    Range("c" & j).Value = "ok"
    Else: Range("c" & j).Value = "aucune référence"
    End If
    Next j
    Next i
    End Sub

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Bonjour,

    J'ai testé votre code mais j'obtiens le même résultat qu'avec ma propre macro, voir fichier en PJ.

    Par exemple en deuxième ligne il me met aucune référence alors que dans la deuxième colonne il y a bien la référence "P24585"... Je comprends pas pourquoi.. Normalement il ne devrait y avoir que la première ligne en "aucune référence".
    Images attachées Images attachées  

  4. #4
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Bonjour,

    Une autre piste:
    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
    Option Explicit
     
    Sub Comparaison()
     
      Dim c As Range
      Dim cFound As Range
      Dim rPcode As Range
      Dim rAlertes As Range
      Dim wks As Worksheet
     
      Set wks = ThisWorkbook.Sheets(1) ' A adapter
      Set rPcode = Range(wks.Cells(2, 1), wks.Cells(wks.Rows.Count, 1).End(xlUp)) ' Colonne 1
      Set rAlertes = Range(wks.Cells(2, 2), wks.Cells(wks.Rows.Count, 2).End(xlUp)) ' Colonne 2
      For Each c In rPcode
        Set cFound = rAlertes.Find(what:=c.Value, lookat:=xlWhole)
        If cFound Is Nothing Then
          c.Offset(0, 2) = "aucune référence"
        Else
          c.Offset(0, 2) = "OK"
        End If
      Next c
    End Sub

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup Alain Gerard pour votre réponse, cela fonctionne parfaitement bien !

    Je passe le sujet en résolé.

    Bon wk!

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

Discussions similaires

  1. [XL-2007] Récupérer valeurs d'une colonne vers une liste déroulante sur autre colonne d'une nouvelle feuille
    Par redhotchilipeppers dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 07/07/2014, 17h26
  2. rechercher dans une ligne et copier la colonne dans un autre document
    Par myayo001 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 21/03/2014, 13h11
  3. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  4. Réponses: 4
    Dernier message: 15/10/2009, 13h33
  5. [XL-2007] Afficher une checkbox dans une feuille si une checkbox d'une autre feuille est cochée
    Par JessieCoutas dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 18/08/2009, 13h35

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