Creepy
je ne suis pas très experte mais je peux te donner quelques explications
'quand tu clique sur le bouton 1
Private Sub CommandButton1_Click()
les lignes suivante ce sont les déclarations des variables qui vont être utilisées et leur type
Dim Counter, countseries, xseries As Integer, ChartName As Variant
Dim xVals As Variant, xCell As Variant
Dim xwcell As Range
la ligne suivant désactive l'écran, c'est à dire que tu ne voit pas défiler durant la macro, il reste figé ce qui fait gagner du temps, pour voir défiler la macro tu le met sur true et tu t'arrange pour voir tes feuilles excel en même temps par exemple pour voir comment ça fonctionne. l'apostrophe ' devant et le texte en vert veux dire que la personne la mis en texte pour que cette ligne soit désactivée pendant les essais.
'Application.ScreenUpdating = False
Cette ligne sélectionne le graphe2
Graph2.Select
Cette ligne, si je ne me trompe compte le nombre de série du graphique sélectionné
countseries = ActiveChart.SeriesCollection.Count
Ces lignes exécutent les opérations qui vont suivre pour chaque série du graphe.
For xseries = 1 To countseries
Je ne sais pas exactement mais ces lignes définissent les valeurs du graphe, je ne m'y connais pas beaucoup en Vba graphes.
Counter = 1
xVals = ActiveChart.SeriesCollection(xseries).Formula
xVals = Right(xVals, Len(xVals) - InStr(1, xVals, ","))
xVals = Left(xVals, InStr(1, xVals, ",") - 1)
Cette ligne que pour chaque cellule de la zone
For Each xCell In Range(xVals)
Je pense qu'avec les lignes ci-dessous des étiquettes sont rajoutées. Il faudrait essayer pour voir.
Set xwcell = Range(xCell.Offset(-11, 0).Address)
ActiveChart.SeriesCollection(xseries).Points(Counter).HasDataLabel = True
ActiveChart.SeriesCollection(xseries).Points(Counter).DataLabel.Text = xwcell.Value
le compteur est augmenté de 1
Counter = Counter + 1
la cellule suivante est sélectionnée
Next xCell
une nouvelle série est sélectionnée
Next xseries
la ligne suivante est désactivée elle appelait une macro élaborée sous Excel4
' Application.ExecuteExcel4Macro "SELECT("""")"
End Sub
Pour comprendre bien le processus, il faut désactiver l'écran comme précisé au début, ce qui est le cas dans cette macro. Faire que la fenêtre VBA et les feuilles Excel soient toutes deux visible et exécuter pas à pas la macro pour voir défiler le processus.
J'ai fais ce que j'ai pu.
Bonne soirée.