Excel VBA: Tri de données vides

mamax

XLDnaute Nouveau
Bonjour a tous!

Voila mon problème:

Je souhaite créer un PieChart a partir de données qui se trouvent sur une feuille de calcul. Cependant, ces données peuvent être vides a certains endroits. J'aimerais donc copier mes données dans une feuille temporaire, faire une sorte de tri pour supprimer les données vides et enfin tracer un graphique a partir de ces nouvelles données triées!

(A moins qu'il existe une méthode pour demander de tracer un graphique sans les données vides!)

Voici le code que j'ai écrit pour l'instant:

Worksheets.Add after:=Sheets(Worksheets.Count)
Dim Valeur As Integer
Dim i As Integer
Dim TabAbscisses() As String 'TabAbscisse corrsponds aux noms des projets
Dim TabOrdonnees() As Integer 'TabOrdonnees corresponds aux heures

'Remplissage tableaux
ReDim TabAbscisses(0 To ProjectEndColumn - ProjectStartColumn - 1) 'donne le nombre de projets Global
ReDim TabOrdonnees(0 To ProjectEndColumn - ProjectStartColumn - 1)

For i = 0 To UBound(TabAbscisses())
TabAbscisses(i) = Sheets(NumPage).Cells(4, i + 5) 'i+5 car le premier projet est a la colonne E
TabAbscisses(i) = Sheets(NumPage).Cells(NumLine, i + 5)
Next i

'tri décroissant
Do
Valeur = 0

For i = 0 To UBound(TabOrdonnees) - 1
If TabOrdonnees(i) = "" Then

TabOrdonnees(i) = TabOrdonnees(i + 1)
Set TabOrdonnees(i + 1) = ""

TabAbscisses(i) = TabOrdonnees(i + 1)
Set TabAbscisses(i + 1) = ""

Valeur = 1
End If
Next i
Loop While Valeur = 1

Charts.Add
'Définit la localisation du graphique:
'dans la feuille de calcul (Summary pour cet exemple)
ActiveChart.Location _
Where:=xlLocationAsObject, Name:=Sheets("Summary")

'Ajoute une série dans le graphique
With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = TabAbscisses() 'Abscisses
.SeriesCollection(1).Values = TabOrdonnees() 'Ordonnées
'Définit le type (Courbe)
.ChartType = xlPie
.SeriesCollection(1).Name = Sheets(NumPage).Cells(NumLine, 1).Value
End With


J'ai un probleme de compilation avec " Set TabOrdonnees(i + 1) = "" " ou il y a écrit "Object required"
Et puis il va sûrement y avoir un problème avec le dernier élément de mon tableau avec cette méthode de tri.

Voila je suis un peu perdu, est-ce que quelqu'un aurait une idée de la manière dont je pourrais résoudre mon problème?

Merci beaucoup pour votre aide!
 

mamax

XLDnaute Nouveau
Re : Excel VBA: Tri de données vides

Je viens de voir un autre problème avec ma méthode de tri:

Si le premier élément (d'indice 0) est vide, alors tout mon tableau va être vide!

En fait j'ai essayé de faire une méthode tri, car si je trace un PieChart avec des données vides par endroit (suivant mon exemple, il s'agit d'un nombre d'heure égal a zéro, cf pièce jointe), elles ne vont pas être représentées, ce qui est bien, mais le nom du projet associé au nombre d'heure apparaît quand même en légende!

Est-ce que j'ai été assez clair ^^ ?

je dois pouvoir me passer d'une méthode de tri...
 

Discussions similaires

Réponses
4
Affichages
401
Réponses
7
Affichages
512

Membres actuellement en ligne

Statistiques des forums

Discussions
314 450
Messages
2 109 729
Membres
110 553
dernier inscrit
loic55