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 :

[VBA-E] Comparaison de 2 Range


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut [VBA-E] Comparaison de 2 Range
    Bonjour,
    j'aimerais juste savoir s'il existe un moyen simple et rapide de comparer 2 Range

  2. #2
    Membre éclairé
    Inscrit en
    Juin 2006
    Messages
    584
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 584
    Par défaut
    a tout hasard je ne suis que débutant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if range1 = range2 then
    msgbox "identique"
    else
    msgbox "Pas identique!!"

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Sont-ce des valeurs ou des textes ?
    Si c'est du texte, mets-les tous les deux dans le même format, majuscule ou minuscule, pour les comparer
    ..........................."Mon tonton" = "mon tonton" = faux

  4. #4
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    Tu veux dire des comparaisons cell par cell?

    En fait c'est ce que je voulais éviter justement, faire une double boucle...

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Tu n'as pas répondu à ma question... des valeurs ou des strings ?
    Mais bon
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ok = Cells(NoLig, NoCol).value = Cells(NoLigne2, NoCol2).value
    ok = true si tes deux cellules contiennent les même données. Ok que tu peux remplacer, évidemment, par if .......... then 'ce que tu veux
    Tu peux aussi mettre if not ............... then 'ce que tu veux toujours

    A question imprécise, réponse hypothétique

  6. #6
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    j'ai absolument de tout d s mes cell, double, string, date...

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Alors la syntaxe que je t'ai passée devrais fonctionner

  8. #8
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    merci bcp,
    mais c pas exactement ce que je voulais.

    En fait j'ai 2 matrices et je voulais eviter de boucler 2 fois...

  9. #9
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Bon, je ne suis pas certain qu'il n'y ait pas une autre syntaxe (je crois même l'avoir aperçu sur le forum) mais à défaut tu peux faire ça (qui ne nécessite qu'une boucle et non pas deux)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub RangeComparer()
    Dim ok As Boolean
    ok = True
    Set range1 = Range("A2:B9")
    For Each Cell1 In range1
        ok = ok And Cell1.Value = Range(Cell1.Address).Offset(0, 3).Value
    Next
    MsgBox ok
    End Sub
    où Range(Cell1.Address).Offset(0, 3) correspond à la cellule située sur Cell1+3colonnes
    Tu peux décaler aussi bien les lignes que les colonnes
    Offset(5,0) décale de 5 lignes par rapport à Cell1

    Si on te donne une meilleure réponse, cette fois-ci je la noterai

  10. #10
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    39
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 39
    Par défaut
    merci bcp Ouskel'n'or !!!

Discussions similaires

  1. [VBA-E]Comparaison de date
    Par Bernardtapis dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/03/2006, 21h54
  2. [VBA-E] Comparaison date / datetime
    Par dahu29 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 15/03/2006, 13h12
  3. [VBA-E]Comparaison du contenu de 2 feuilles
    Par Neymo dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 09/03/2006, 14h42
  4. [VBA]excel comparaison de chaine de caractere
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2006, 15h32
  5. VBA, Graphique : Toujours à propos des ranges discontinus ..
    Par CCHEVALIER dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 28/09/2005, 09h15

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