Bonjour,
J'essaye de contourner une limite d'Excel, qui n'arrive pas à gérer l'abscisse lorsqu'il y a du texte dans les sources de données. Le problème étant que je ne peux pas supprimer ce texte de ma source.
Je cherche à détecter les valeurs non numériques dans seriesCollection.XValues, puis à retirer du graphique ces valeurs et la valeur en Y associée.
Voici mon code pour le moment (je vous passe les déclarations de variables) :
Si quelqu'un a une petite idée je suis preneur !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Sub CorrigeGraphs() For each sh in activeworkbook.worksheets for each graph in sh.ChartObjects graph.activate if graph.Chart.ChartType = xlXYScatter then for each serie in graph.Chart.SeriesCollection 'EDIT : vba n'arrive pas à lire serie.XValues(i) ; for each fonctionne 'for i = 1 to Ubound(serie.XValues) 'if not isNumeric(serie.XValues(i)) then i = 0 'compteur d'éléments for each elmt in serie.XValues i=i+1 if not isNumeric(elmt) then 'Là je ne trouve pas comment faire end if next elmt next serie end if next graph next sh end sub
Etienne







Répondre avec citation
Partager