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

Access Discussion :

[VBA][Excel] Range & Union


Sujet :

Access

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut [VBA][Excel] Range & Union
    Voici mon problème : je souhaite sélectionner les plages suivantes :
    • colonne 2, de la 5ème ligne à la dernière ligne en partant du bas
      colonne i, de la 5ème ligne à la dernière ligne en partant du bas, i variant selon une boucle For... Next


    Je dispose déjà d'une variable derniereligne me permettant de déterminer la dernière ligne de ma colonne i et une variable dernierecolonne me permettant de mettre la fin de ma boucle For... Next.

    Je souhaite ensuite réaliser l'union de ces deux plages pour réaliser un graphique.

    Voici mon code mais il génère une erreur sur range1 et range2

    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
     
     
    For i = 4 To dernierecolonne
     
        range1 = Range(Worksheets("Données").Cells(5, 2), Worksheets("Données").Cells(derniereligne, 2))
     
        range2 = Range(Worksheets("Données").Cells(5, i), Worksheets("Données").Cells(derniereligne, i))
     
     
        Set objRange = Union(Range("range1"), Range("range2"))
     
        Set objGraph = ThisWorkbook.Charts.Add
     
        With objGraph
                .Name = Worksheets("Données").Cells(2, i).Value
                .ChartType = xlLineMarkers
                .SetSourceData objRange, PlotBy:=Columns
                .HasTitle = True
                .ChartTitle.Text = Worksheets("Données").Cells(2, i).Value
            End With
    Si quelqu'un a une idée, je suis preneur...

  2. #2
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    Essaye :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set objRange = Union(range1, range2)
    Rnage1 et Range2 sont déjà des objets de type range.

  3. #3
    Membre confirmé
    Avatar de Petogaz
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    479
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 479
    Points : 580
    Points
    580
    Par défaut
    slt,
    je pense qu'il va falloir créer un forum Excel !

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    179
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 179
    Points : 58
    Points
    58
    Par défaut
    Merci Arkham46 de ta réponse.

    en effet, range1 et range2 étant déjà deux objets de type Range ta syntaxe est correcte.

    Par contre, il semblerait qu'il me reste toujours un problème justement dans la définition des objets range1 et range2

  5. #5
    Responsable Access

    Avatar de Arkham46
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5 865
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5 865
    Points : 14 524
    Points
    14 524
    Par défaut
    slt,

    le range est un object, donc essaye d'utiliser set :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        SET range1 = Range(Worksheets("Données").Cells(5, 2), Worksheets("Données").Cells(derniereligne, 2)) 
     
        SET range2 = Range(Worksheets("Données").Cells(5, i), Worksheets("Données").Cells(derniereligne, i))

Discussions similaires

  1. newbie vba excel range
    Par maxtin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 19/02/2007, 00h27
  2. VBA Excel (débutant) - problème avec la copie d'un range
    Par sat478 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/01/2006, 16h32
  3. [VBA Excel] problème de range avec find
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/11/2005, 13h56
  4. [VBA Excel] Ajouter, supprimer une ligne ou collone range
    Par loacast dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 22/11/2005, 15h53
  5. 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

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