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 :

Comparer 2 colonnes dans une feuille [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Par défaut Comparer 2 colonnes dans une feuille
    Salut tout le monde,

    j'ai besoin de votre aide pour une macro de comparaison que j'ai faite mais qui bloque. Mon besoin est simplement de comparer la colonne a et b de la feuille "Feuil2". Il faut verifier que toutes les données de la colonne b soit existante dans la colonne. S'il y a une donnée dans la colonne b qui n'existe pas dans la colonne a, on note cette donnée de la colonne b en coloriant la cellule.

    Voici mon code mais j'ai erreur lors de ma deuxieme condition if. Cela dit : Rin-time error "1004" : Application-defined or object defined error :
    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 Noter_Transit_Inconnu()
    With Worksheets("Feuil2").Range("a:a")
                For n = 2 To Cells(Rows.Count, 1).End(xlUp).Row
                mavar = Worksheets("Feuil2").Range("b" & n)
                Set c = .Find(mavar, LookIn:=xlValues, Lookat:=xlWhole)
              ' eviter une erreur si c.row ne retourne pas de valeur
                If Not c Is Nothing Then
                ligne = c.Row
                End If
                If Worksheets("Feuil2").Range("b" & n).Value = Worksheets("Feuil2").Range("a" & ligne) Then
                Sheet2.Range("b" & n).Interior.ColorIndex = 6
                End If
                Next
    End With
    End Sub
    Merci de votre aide

    Voici un petit modèle de quoi ressemble ma feuil2 :
    Transit a | Transit b
    12345 23456
    23478 23478
    23456 11111
    22222 33333
    55555 22222
    77777 77777
    33333 99999

    On remarque ici que les données 11111 et 99999 doivent etre en jaune vu qu'elles n'existent pas dans la colonne a.

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Bonjour,

    Remplace Sheet2 par Worksheets("Feuil2") et tu n'auras plus l'erreur

    A+

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Par défaut
    Non DeaD78, c'est toujours la même erreur.

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    J'ai pris ton code tel quel (juste avec le changement que je t'ai indiqué) et je l'ai fait tourner chez moi, aucune erreur de compilation...

    Mets cette ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil2") .Range("b" & n).Interior.ColorIndex = 6
    en commentaire et regarde si ça marche.

  5. #5
    Membre éclairé
    Inscrit en
    Mars 2008
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 257
    Par défaut
    trop bizarre car quand moi je l'execute, ca ma retourne toujours le meme message d'erreur meme lorsque
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets("Feuil2").Range("b" & n).Interior.ColorIndex = 6
    est en commentaire.

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    682
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 682
    Par défaut
    Essaie en mettant tout cela en commentaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     If Worksheets("Feuil2").Range("b" & n).Value = Worksheets("Feuil2").Range("a" & ligne) Then
    Sheet2.Range("b" & n).Interior.ColorIndex = 6
    End If
    EDIT : Par exemple, ligne n'est défini que dans la condition précédente. Si jamais tu ne trouves pas ta valeur, ligne n'est pas défini. En revanche, tu l'utilises dans ta condition suivante. Ca ne risque pas de marcher

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

Discussions similaires

  1. Comparer des colonnes dans 2 feuilles différentes et supprimer les doublons
    Par eudeline91 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 21/04/2008, 09h24
  2. Comparer 3 colonnes dans 2 feuilles
    Par Mimosa777 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 08/04/2008, 20h57
  3. Selections de colonnes dans une feuille excel
    Par hubeuh dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/12/2007, 12h28
  4. Nombre de colonnes dans une feuille de données
    Par steps5ive dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2007, 21h52
  5. [VBA-Excel] copier plusieurs fois une colonne dans une feuille Excel
    Par ash_rmy dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 09/08/2006, 18h43

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