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


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Inscrit en
    Octobre 2010
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Octobre 2010
    Messages : 6
    Par défaut Comparer 2 colonnes
    Bonjour, je n'arrive pas à comparer simplement 2 colonnes


    voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     if sheet1.range("A1:A100") = sheet1.range("J1:J100") then
     msgbox "identiques"
     else
     msgbox "differentes"
     end if

    Merci d'avance

    PS : j'aimerais un code rapide car je dois faire cela sur plus de 10 000 valeurs

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    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
    Public Sub aaa()
    Dim LastLig As Long
     
    Application.ScreenUpdating = False
    With Sheets("Sheets1")
        LastLig = .Cells(Rows.Count, 1).End(xlUp).Row
        .Range("IV1").FormulaLocal = "=SI(A1=J1;0;1)"
        .Range("IV1").AutoFill .Range("IV1:IV" & LastLig)
        If Application.Sum(.Range("IV1:IV" & LastLig)) > 0 Then
            MsgBox "différents"
        Else
            MsgBox "égaux"
        End If
        .Columns("IV:IV").ClearContents
    End With
     
    End Sub

  3. #3
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut COMPARE 2 COLONNES
    Bonjour,


    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
    Public Sub ESSAI()
     
    Dim c As Range
    Dim diff As Boolean
    Dim résultat As String
     
    diff = False
     
    For Each c In Sheets("Toto").Range("A1:A10000")
        If c.Value <> c.Offset(0, 9).Value Then
            diff = True
            Exit For
        End If
    Next
    résultat = IIf(diff = False, "identiques", "différentes")
    MsgBox résultat
     
    End Sub
    Cordialement

    Marcel

  4. #4
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut compare 2 colonnes
    Décidément...
    L'heure d'envoi de nos messages te confirmera que je n'ai pas fait exprès.

    Un avis, cependant.

    Merci

    Marcel

  5. #5
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Et comme çà ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub test()
    With Sheets(1)
    For i = 1 To .Range("A65000").End(xlUp).Row
      If .Range("A" & i).Value <> .Range("J" & i).Value Then
        MsgBox "differentes"
        Exit Sub
      End If
    Next i
    MsgBox "identiques"
    End With
    End Sub

  6. #6
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

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

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut COMPARE 2 COLONNES
    Salut RVTOULON,

    Nos algorithmes me semblent assez proches.
    La question à mon avis reste le temps de réponse. As-tu testé sur 10000 enregistrements pour tous les cas de figure ?

    Cordialement.

    Marcel

  7. #7
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    bonjour MarcelG,
    en effet c une autre approche,
    a vrai dire je ne me suis pas posé la question sur le temps

    mon code tel quel avec + de 11000 lignes = 2,3 s.
    ton code tel quel sur 10000 lignes = 1,7 s.

    effectivement ton code est plus rapide mais vu l'écart c pas très important, enfin pour moi.

Discussions similaires

  1. Comparer deux colonnes
    Par gandalfthegrey dans le forum Excel
    Réponses: 6
    Dernier message: 30/01/2008, 11h57
  2. Comparer deux colonnes d'une même table
    Par snoopy69 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 08/01/2008, 10h05
  3. Comparer deux colonnes adjacentes une à une sur mon tableau?
    Par drthodt dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/12/2007, 10h11
  4. Réponses: 3
    Dernier message: 22/10/2006, 23h15
  5. comparer deux colonnes sur Excel
    Par delamarque dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 21/12/2005, 10h50

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