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 :

Comparaison entre deux plages [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Par défaut Comparaison entre deux plages
    Bonjour,


    je voudrais savoir comment comparer deux plages
    et mettre les cellules communes en rouge dans la deuxième plage


    Avant

    Plage1
    Marc l1 M2
    Jacques l3 M1

    Plage2
    Marc l1
    Thierry l2
    Jacques l3
    Pol M1
    Alain M2

    Après

    Plage1
    Marc l1 M2
    Jacques l3 M1

    Plage2
    Marc l1
    Thierry l2
    Jacques l3
    Pol M1
    Alain M2



    J'étais parti dans l'idée de ceci(source excellabo)

    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
     
    Sub ComparePlages()
     Dim Arr1, Arr2
     Arr1 = Range("A4:F12").Value
     Arr2 = Range("i5:J39").Value
     
     For i = LBound(Arr1, 2) To UBound(Arr1, 2)
      For j = LBound(Arr1, 1) To UBound(Arr1, 1)
       If Arr1(j, i) = Arr2(j, i) Then
        Arr2(j, i).Select  'erreur 424 objet requis
        Selection.Font.ColorIndex = 3
       End If
      Next j
     
     Next i
     
     End Sub
    Ca plante surement parceque je ne pige pas trop le code
    Erreur 424 objet requis
    Une idée merci

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonjour,
    un exemple
    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
     
    Sub compare()
     Dim r As Range
     
     Set Sh = Worksheets("Feuil2")
     
     With Sh.Range("B3:C18")
      For Each r In Sh.Range("D3:E10")
       Set c = .Find(r.Value, LookIn:=xlValues)
        If Not c Is Nothing Then
         r.Font.Color = RGB(255, 0, 0)
         firstAddress = c.Address
         Do
          c.Font.Color = RGB(255, 0, 0)
          Set c = .FindNext(c)
         Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
       Next r
     End With
    End Sub

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    175
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2004
    Messages : 175
    Par défaut
    Super merci



    J'ai commenté cette ligne car elle colore
    la première plage. C'était seulement la deuxième qu'il fallait
    coloré


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ' c.Font.Color = RGB(255, 0, 0)

    encore merci

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

Discussions similaires

  1. Comparaison entre deux chaînes
    Par fifi87 dans le forum Assembleur
    Réponses: 2
    Dernier message: 12/12/2006, 20h55
  2. Comparaison entre deux variables
    Par delavega dans le forum ASP
    Réponses: 8
    Dernier message: 23/11/2006, 16h42
  3. Comparaison entre deux dates dans une table
    Par Biskot75 dans le forum Access
    Réponses: 6
    Dernier message: 19/09/2006, 11h16
  4. Réponses: 6
    Dernier message: 18/04/2006, 13h11
  5. Comparaison entre deux champs de deux tables différentes
    Par liam81150 dans le forum Requêtes
    Réponses: 1
    Dernier message: 26/09/2005, 20h53

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