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 :

operation ensembliste pour objets Range


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 108
    Par défaut operation ensembliste pour objets Range
    Bonjour,

    Je connais les opérations Union et intersect qui renvoie la fusion ou l'intersection de deux ranges.

    Est-il possible de faire l'opération qui renvoie un range contenant les cellules qui sont différentes de chaque coté??

    ex:


    merci d'avance,

  2. #2
    Membre expérimenté Avatar de ilcocodrillo
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Âge : 19
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    D'après ce que j'ai pu lire ça n'existe pas tout fait dans VBA mais je n'ai peux être pas tout lu... PAr contre j'ai peut être une idée. Tu fais un Union de tes plages, tu les tri selon le ou les critères qui vont bien et ensuite tu n'a plus qu'a faire une boucle qui compare ligne après ligne les similitude et les supprimer au fur et à mesure. A la fin il ne reste que ce qui est différent des ranges de départ. Ca ne semble pas très compliqué à faire.

    Qu'en penses-tu ?

  3. #3
    Membre confirmé
    Inscrit en
    Septembre 2005
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 108
    Par défaut
    j'envisageai le souci de devoir le faire à la main... niveau perf dans mon cas cela reste sur trèe peu de données donc ça peut passer... mais le code risque d'être difficile à écrire

  4. #4
    Expert confirmé

    Homme Profil pro
    Inscrit en
    Août 2005
    Messages
    3 317
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2005
    Messages : 3 317
    Par défaut
    bonsoir


    Tu peux tester ce type de procédure

    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
    Dim A As Range, B As Range, C As Range
    Dim Cell As Range, Commun As Range, PlageResultat As Range
     
    Set A = Range("A1:A10")
    Set B = Range("A7:A15")
     
    Set Commun = Application.Intersect(A, B)
     
    For Each Cell In Union(A, B)
        If Intersect(Cell, Commun) Is Nothing Then
            If PlageResultat Is Nothing Then
                Set PlageResultat = Cell
                Else
                Set PlageResultat = Union(PlageResultat, Cell)
            End If
        End If
    Next Cell
     
    MsgBox PlageResultat.Address


    bonne soirée
    michel

Discussions similaires

  1. [VBA-E] Accès à l'objet Range (oui puis non ?)
    Par gapgap dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/05/2006, 20h00
  2. directx / webcam / texture pour objet 3D
    Par VinceR2048 dans le forum DirectX
    Réponses: 3
    Dernier message: 15/04/2006, 16h16
  3. L'objet Range - automation excel
    Par Celia1303 dans le forum Access
    Réponses: 6
    Dernier message: 21/12/2005, 17h03
  4. VBA Excel Débutant : Graphique et objet Range
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 09/11/2005, 18h34
  5. héritage pour objet proches?
    Par car dans le forum Langage SQL
    Réponses: 1
    Dernier message: 03/08/2005, 09h05

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