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 :

intersection de range


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Par défaut intersection de range
    Bonjour tout le monde,

    j'essaye de récuperer l'intersection de deux range comme ceci :

    mes deux range sont
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    nomenclatureWS.range(nomenclatureWS.Columns(8).Address)
    nomenclatureWS.Cells(cell3.Row, 1).MergeArea
    la ligne suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for each cell in excelApp.Application.Intersect(nomenclatureWS.range(nomenclatureWS.Columns(8).Address), nomenclatureWS.Cells(cell3.Row, 1).MergeArea)
    me renvoie "un objet est requis"
    ou est mon erreur ?

    merci !

    EDIT : je viens de trouver, les deux range avaient tout simplement une intersection vide ...

  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
    Essaies comme ceci (Cell3 est bien définie dans ton code)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim Plage As Range
     
    '....
    Set Plage = Intersect(nomenclatureWS.Columns(8), nomenclatureWS.Cells(Cell3.Row, 1).MergeArea)
    If Not Plage Is Nothing Then
        For Each Cell In Plage
            '....
        Next Cell
    End If
    Set Plage = Nothing

  3. #3
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 208
    Par défaut
    Bonjour,

    Tu peux simplifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomenclatureWS.Range(nomenclatureWS.Columns(8).Address)
    par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nomenclatureWS.Columns(8)
    Si tu as ce message, c'est sans doute parce qu'il n'y as aucune cellule commune aux deux plage. Ecris :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set Plage = excelApp.Application.Intersect(nomenclatureWS.Range(nomenclatureWS.Columns(8).Address), nomenclatureWS.Cells(cell3.Row, 1).MergeArea)
    If Not plage Is Nothing Then
        For Each cell In Intersect(nomenclatureWS.Columns(8), nomenclatureWS.Cells(cell3.Row, 1).MergeArea)
     
        Next
    End If

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

Discussions similaires

  1. XPath: intersection de chemins
    Par aldo047 dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 13/03/2003, 10h30

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