Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Définir une plage de cellules discontinues de manière correcte

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

SERIEUXETCOOL

XLDnaute Occasionnel
Bonsoir le forum,

Je me retourne vers vous pour une petite question...

Je cherche à définir de manière correcte une plage de données discontinue sous la forme suivante : Une cellule sur deux.

En fait je désire tracer un graphique à partir d'une macro. Ce graph sera définit sur deux colonnes (abscisse, ordonnée) mais seulement une cellule sur deux.

Voici les deux lignes de mon code que je cherche à modifier :

Code:
ActiveChart.SeriesCollection(1).XValues = Range("A1:A20") 'Valeurs en abscisse
    ActiveChart.SeriesCollection(1).Values = Range("B1:B20") 'Valeurs en ordonnée

Mais je désire remplacer "Range("A1:A20")" et "Range("B1:B20")" par une autre plage qui serait définie par une cellule sur deux (plage discontinue).

Voici le code que je propose mais qui ne fonctionne pas du tout car mal définit !

Code:
Dim Abscisse As Range, Ordonnée As Range
    Dim i As Long
    
    For i = 1 To 20 Step 2
    Abscisse = Union(Range("A" & i))
    Ordonnée = Union(Range("B" & i))
    Next
    
    ActiveChart.SeriesCollection(1).XValues = Abscisse 'Valeurs en abscisse
    ActiveChart.SeriesCollection(1).Values = Ordonnée 'Valeurs en ordonnée


Qui aurait la gentillesse de proposer une solution à mes soucis ?

Merci d'avance,

André
 
Re : Définir une plage de cellules discontinues de manière correcte

Bonjour SERIEUXETCOOL,

à priori, tu peux changer ces lignes :
VB:
    For i = 1 To 20 Step 2
    Abscisse = Union(Range("A" & i))
    Ordonnée = Union(Range("B" & i))
    Next
en
VB:
Dim Abscisse as Range, Ordonnée as Range
  Set Abscisse = Range("A1")
  Set Ordonnée = Range("B1")
    For i = 3 To 20 Step 2
      Set Abscisse = Union(Abscisse, cells(i, 1))
      Set Ordonnée = Union(Ordonnée, cells(i, 2))
    Next
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
0
Affichages
459
Réponses
3
Affichages
582
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…