Ajout de série graphique en fonction d'un SI

golzag

XLDnaute Nouveau
***************************************************
Fichiers en pièce jointe pour plus de compréhension au message 3
***************************************************
Bonjour,

OBJECTIF : Crée un graphique pour tout l'étage E01 et lorsque la colonne 1 indique FAUX.


J'essaie de créer un graphique puis d'ajouter des séries en fonction d'un SI mais je galère un peu.

Je vous présenter mon cas, dans un premier temps le code :

Sub G_tousUG_par_etage()
'
Dim a, Num_UG As Integer
Dim etage As String
Dim b As Integer


'Initialisation
a = 1 '1ère colonne
b = 2
Num_Ligne_Fin = 100 'nb app

Test = FAUX
nom_etage = "E01"


' Identifiant des premières et dernières lignes de données à afficher

z = 172 'dernière colonne pour les températures d'UG

While a < Num_Ligne_Fin 'balayage des lignes

UGm = Sheets("données_T").Cells(a + 1, 1).Value 'valeur à tester ici c'est un affichage VRAI ou FAUX que je récupère


If Test = UGm Then


If b = 2 Then 'dès qu'il a trouvé une valeur bonne je l'oblige à rentrer dans cette boucle pour créer le graphique
'*************************** 1ère courbe ********************
Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Courbes à deux axes"

'Température extérieur
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Données_T!R2C6:R2C[" & z & "]" '*FIXE
ActiveChart.SeriesCollection(1).Values = "=T_ext!R3C6:R3C173" '*
ActiveChart.SeriesCollection(1).Name = "=""T ext""" '*


'Température de l'UG
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(b).Name = "=Données_T!R[" & a & "]C2"
ActiveChart.SeriesCollection(b).XValues = "=Données_T!R2C6:R2C[" & z & "]" '*FIXE
ActiveChart.SeriesCollection(b).Values = "=Données_T!R[" & a & "]C6:R[" & a & "]C[" & z & "]"

ActiveChart.Location Where:=xlLocationAsNewSheet

Num_UG = Sheets("données_T").Cells(a + 1, 2).Value

ActiveChart.Location Where:=xlLocationAsNewSheet, Name:=nom_etage

b = b + 1
Else
'*************************** courbe additionnel ********************
'Température de l'UG
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(b).Name = "=Données_T!R[" & a & "]C2"
ActiveChart.SeriesCollection(b).XValues = "=Données_T!R2C6:R2C[" & z & "]" '*FIXE
ActiveChart.SeriesCollection(b).Values = "=Données_T!R[" & a & "]C6:R[" & a & "]C[" & z & "]"


'********************************incrémentation*********************
b = b + 1
End If


Else
a = a + 1

End If

Wend

End Sub

Le while me permet de balayer les lignes.

Ensuite j'effectue mon Mon 1er si, il test si la condition est bonne.

Le 2ème si, je l'oblige à rentrer pour la création du graphique sinon il crée une courbe supplémentaire.

Comment je dois définir mon 1er test au niveau du VRAI/FAUX ?

ca bloque aussi à la 2ème série souvent alors je ne sais pas si il aime bien que je lui envoie ceci avec b en tant que variable :ActiveChart.SeriesCollection(b)

Est-ce que vous avez une idée ?

Est-ce que c'est réalisable ? peut-etre que non

Sinon une autre petit question est-ce que quelqu'un connait le code pour un IF avec 2 conditions sous VBA ?

Désolé pour la présentation c'est difficile de repérer les différentes boucles .

MErci d'avance pour votre aide

johann
 
Dernière édition:

Caillou

XLDnaute Impliqué
Re : Ajout de série graphique en fonction d'un SI

Bonjour,

Ton code est difficilement compréhensible (en tout cas, pour moi) sans les données de la feuille de calcul. Tu peux pas poster un bout de ton fichier pour qu'on comprenne mieux.
De plus, dans ton code, j'ai l'impression que tu déclares certaines variables et qu'ensuite tu en utilises d'autres (Dim etage As String .... nom_etage = "E01", ...)

Si j'ai bien compris, pour tester du vrai/faux, il faut déclarer la variable en Boolean et l'initialiser à True (vrai) ou à False (Faux)
Dim x as Boolean
x=True
If x Then
...

Par contre pour la question que tu poses à la fin de ton post (tester 2 conditions) :
If condition1 And condition2 Then
ou
If condition1 Or condition2 Then

A+
Caillou
 

golzag

XLDnaute Nouveau
Re : Ajout de série graphique en fonction d'un SI

J'ai mis une version élaguer en pièce jointe.

Je pense que ça vous éclaircira.

Le BUT de cette macro est de :

Crée un graphique pour tout l'étage E01 et lorsque la colonne 1 indique FAUX.

Merci d'avance
 

Pièces jointes

  • temperature.xls
    46 KB · Affichages: 143

golzag

XLDnaute Nouveau
Re : Ajout de série graphique en fonction d'un SI

J'ai une autre question si j'ai pas réponse ici je créerais un sujet .

Est-ce qu'il est possible de connaitre le nombre de série sur graphique ?

Après je voudrais faire une mise en forme mais le problème c'est que le nombre de série par graphique varie donc c'est assez aléatoire.

Merci d'avance
 

Discussions similaires

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo