Sélection variable pour la réalisation d'un graphe Excel par une macro

gerardmajax

XLDnaute Nouveau
Bonjour à tous.

Dans le cadre d'un travail professionnel, j'ai créé une macro Excel qui, a partir des données issues d'un tableau, me donne tout un ensemble de graphiques.
Ma macro prend donc les valeurs nécessaires dans des zones prédéfinies fixes.
Mon problème est le suivant : mon tableau comporte beaucoup de colonnes, qui ne contiennent parfois rien d'autre que des zéros. Or, ces zéros apparaissent sur le graphe, le rendant illisible avant la longue et fastidieuse suppression manuelle de ces zéros.
Mon but est le suivant : supprimer les colonnes ou il n'y a que des zéros (ce que j'ai réussi à faire), et ensuite prendre uniquement l'ensemble des valeurs de ce tableau désormais réduit.
C'est sur cette dernière partie que je bute : je n'arrive pas à demander à Excel de selectionner ses colonnes en fonction d'un paramètre qui lui aurait été défini comme le nombre de "colonnes restantes".
Voici la partie où se situe le problème à mon avis :

Charts.Add
ActiveChart.ApplyCustomType ChartType:=xlBuiltIn, TypeName:= _
"Secteurs éclatés"
ActiveChart.SetSourceData Source:=Sheets("FDC").Range("B6")
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).XValues = "=Feuil1!R2C79:R2C95"
ActiveChart.SeriesCollection(1).Values = "=Feuil1!R12001C79:R12001C95"
ActiveChart.SeriesCollection(1).Name = "=Feuil1!R1C79"

Plus concrétement, Excel prend actuellement les valeurs des colonnes 79 à 95 de la ligne 12001. J'aimerais qu'il prenne les colonnes 79 à x de cette même ligne, ou x serait un entier défini un peu plus en amont dans la macro, et qui prendrait donc en compte le nombre de colonne où se trouvent des valeurs non toutes nulles.

Ce genre d'opération est il possible ?

Merci beaucoup et joyeuses fêtes à tous les participants de ce forum.
 

Gael

XLDnaute Barbatruc
Re : Sélection variable pour la réalisation d'un graphe Excel par une macro

Bonsoir Gerardmajax, bonsoir à tous,

Pour la formule, si tu mets le numéro de la dernière colonne dans une variable, par exemple Nbcol, essaye:


Code:
"=Feuil1!R2C79:R2C" & Nbcol

Tu peux aussi mettre des #NA à la place des 0, le graphique n'en tiendra pas compte. Tu utilises pour cela la fonction NA().

@+

Gael
 

gerardmajax

XLDnaute Nouveau
Re : Sélection variable pour la réalisation d'un graphe Excel par une macro

Bonjour à tous.

Je me suis aperçu que la réponse qui m'a été donnée par Gael, si elle m'a aidé au départ, ne peut pas être utilisée telle quelle dans un autre cas, en particulier quand la partie variable se trouve au milieu de la formule.

En me basant sur la réponse qui m'a été donnée précédemment, j'ai demandé à ma macro de sélectionner la plage suivante :

"=Feuil1!R2C" & (Nbcol-2) & ":R2C" & Nbcol

Or, la macro en question bloque immanquablement sur cette étape. Cela semble être un problème de syntaxe, mais malgré mes recherches et mes essais je ne suis toujours pas parvenu à le résoudre.

Est ce que quelqu'un a une idée ?

Merci beaucoup.
 
Dernière édition:

Gael

XLDnaute Barbatruc
Re : Sélection variable pour la réalisation d'un graphe Excel par une macro

Bonjour Gerardmajax, bonjour à tous,

Et bonne année 2009 à tous.

Je ne comprends pas pourquoi ça ne marche pas chez toi. La partie variable peut se trouver à n'importe quel endroit dans la formule pourvu que tout soit cohérent ce qui est le cas dans ton exemple.

Tu peux même enlever les "()" et mettre:

Code:
"=Feuil1!R2C" & Nbcol-2 & ":R2C" & Nbcol

Une erreur se produit si Nbcol ou Nbcol-2 donne un numéro de colonne impossible (par ex si Nbcol=1, Nbcol-2 donnera -1 ce qui est incorrect).

@+

Gael
 

Discussions similaires

Statistiques des forums

Discussions
312 211
Messages
2 086 299
Membres
103 173
dernier inscrit
Cerba95