[Catégorie modifiée .Net --> VBA] code vba

michelde Messages postés 27 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 16 octobre 2010 - 5 oct. 2010 à 14:34
michelde Messages postés 27 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 16 octobre 2010 - 8 oct. 2010 à 14:41
bonjour
voila un code qui me permet de colorier un graphique en fonction des couleurs situées sur les données en colonne E
Dim nbval, a, col As Integer

'Sélectionne le "Graphique 1"
ActiveSheet.ChartObjects("Graphique 1").Activate
'Définis le nombre de points dans la collection
nbval = ActiveChart.SeriesCollection(1).Points.Count

' Sélectionne chacun des points et lui attribue
' la couleur de la cellule lui correspondant.
For a = 1 To nbval
col = Range("e" & a + 1).Interior.ColorIndex
With ActiveChart.SeriesCollection(1).Points(a).Interior
.ColorIndex = col
End With
Next
End Sub
Je voudrais la meme chose mais pour colorier un graphique avec des données en ligne par exemple
colone 5
merci
michel

2 réponses

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
8 oct. 2010 à 12:06
Bonjour,

Si ta question est : comment parcourir mon tableau en ligne au lieu de colonne ?
la réponse est :

Dim nbval, a, col As Integer 

'Sélectionne le "Graphique 1" 
ActiveSheet.ChartObjects("Graphique 1").Activate 
'Définis le nombre de points dans la collection 
nbval =  ActiveChart.SeriesCollection(1).Points.Count 

' Sélectionne chacun des points et lui attribue 
' la couleur de la cellule lui correspondant. 
For a = 1 To nbval 
col = cells(1,a+1).Interior.ColorIndex 
With ActiveChart.SeriesCollection(1).Points(a).Interior 
.ColorIndex = col 
End With 
Next 
End Sub 



en fait j'ai remplacé la ligne
col = Range("e" & a + 1).Interior.ColorIndex 

par :
col = cells(1,a+1).Interior.ColorIndex 

de cette façon j'incrémente le N° de colonne au lieu d'incrémenter le N° de ligne.

NB: Cells(N° de ligne, N° de colonne) => par exemple pour la cellule "C3" = Cells(3,3)
on peut aussi utiliser cells avec les lettres pour les colonnes : Cells(3,"C")

j'epsère que ça t'aidera.

Cordialement,
Jordane,
______________________________________________________
Règles du forum à lire avant de poster une question : ICI
0
michelde Messages postés 27 Date d'inscription lundi 22 mars 2004 Statut Membre Dernière intervention 16 octobre 2010
8 oct. 2010 à 14:41
Bonjour
merci pour ton aide, mais je suis sur qu'on touche au but mais ca ne fonctionne pas
J'aurais voulu t'envoyer mon fichier mais je ne vois pas comment
voila ce que j'ai rectifié

Private Sub CommandButton2_Click()
Dim nbval, a, col As Integer

'Sélectionne le "Graphique 1"
ActiveSheet.ChartObjects("Graphique 4").Activate
'Définis le nombre de points dans la collection
nbval = ActiveChart.SeriesCollection(1).Points.Count

' Sélectionne chacun des points et lui attribue
' la couleur de la cellule lui correspondant.
For a = 1 To nbval
col = Cells(9, a + 1).Interior.ColorIndex
With ActiveChart.SeriesCollection(1).Points(a).Interior
.ColorIndex = col
End With
Next
End Sub
pour commencer a colorier a partir de la colonne i ligne N°2
ou puis je t'envoyer mon fichei ce serait plus explicite
meric
michel
0
Rejoignez-nous