Bonjour,
Bon d'habitude, en fouinant, j'arrive toujours a m'en sortir mais la j'avoue je cale.
Avant-Propos :
Je suis entrain de réaliser une macro VBA qui consiste à :
1 - Copier-coller dans l'onglet "DATA", un tableau de bords issue d'un autre fichier Excel => Fait
2 - De réaliser dans l'onglet "TCD", un tableau Croisé Dynamique => Fait
3 - De réaliser certaine opération mathématiques statistiques issues du TCD => Fait
4 - De réaliser un graphique multicourbles issues des opérations mathématiques => C'est là que je coince.
NOTA :
Ce travail je dois le réaliser plusieurs fois par semaine. il est donc primordiale de ne pas rendre la macro statique à une série de ligne et de colonne spécifique puisque le nombre de ligne et de colonne du TCD va croissant de jour en jour.
Actuellement le Tableau de bords dont est issu le TCD contient plusieurs centaines de lignes pour 21 colonnes.
La résultante est que le TCD gagne environ 3 à 4 colonnes supplémentaire par semaine.
Détail du Problème rencontré :
Pour la réalisation de l'étape 4, je me suis aidé de l'enregistreur de macro.
Celui-ci m'a écrit naturellement le code suivant :
Ce code fonctionne mais comme expliqué en "Nota", je peux pas garder l'expression $B$10:$Y$10 dans cet état puisque la sélection des données de ma courbe ne seront pas toujours au même endroit sur la page.
Pour ce faire, j'ai déclaré plusieurs variables : LigneX, ColonneMin, et ColonneMax
ces variables sont déterminées par une série de boucles "For - Next" qui me permettent de savoir ou sont les lignes que je souhaite intégrer dans mon graphiques.
L'idée étant de remplacer l'écriture $B$10:$Y$10 par : Cells(LigneX, ColonneMin) :Cells(LigneX, ColonneMax)
Mais voila, j'ai beau tourner cette phrase dans tous les sens, je tombe invariablement sur la même erreur
Code d'éxécution'1004':
Erreur définie par l'application ou par l'objet.
si vous pouviez m'aider a écrire ce bout de code, je vous en serait tres reconnaissant.
PS : Je ne peux vous joindre de fichier, celui ci contenant des données sensibles.
Merci d'avance.
Cordialement
agd
Bon d'habitude, en fouinant, j'arrive toujours a m'en sortir mais la j'avoue je cale.
Avant-Propos :
Je suis entrain de réaliser une macro VBA qui consiste à :
1 - Copier-coller dans l'onglet "DATA", un tableau de bords issue d'un autre fichier Excel => Fait
2 - De réaliser dans l'onglet "TCD", un tableau Croisé Dynamique => Fait
3 - De réaliser certaine opération mathématiques statistiques issues du TCD => Fait
4 - De réaliser un graphique multicourbles issues des opérations mathématiques => C'est là que je coince.
NOTA :
Ce travail je dois le réaliser plusieurs fois par semaine. il est donc primordiale de ne pas rendre la macro statique à une série de ligne et de colonne spécifique puisque le nombre de ligne et de colonne du TCD va croissant de jour en jour.
Actuellement le Tableau de bords dont est issu le TCD contient plusieurs centaines de lignes pour 21 colonnes.
La résultante est que le TCD gagne environ 3 à 4 colonnes supplémentaire par semaine.
Détail du Problème rencontré :
Pour la réalisation de l'étape 4, je me suis aidé de l'enregistreur de macro.
Celui-ci m'a écrit naturellement le code suivant :
Code:
Range("A20").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlLine
With ActiveSheet.ChartObjects(1)
.Name = "Graphique_JOUR"
End With
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(1).Values = "='Journalier'!$B$10:$Y$10"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(2).Values = "='Journalier'!$B$11:$Y$11"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(3).Values = "='Journalier'!$B$12:$Y$12"
ActiveChart.SeriesCollection.NewSeries
ActiveChart.SeriesCollection(4).Values = "='Journalier'!$B$13:$Y$13"
ActiveChart.SeriesCollection(4).XValues = "='Journalier'!$B$2:$Y$2"
Ce code fonctionne mais comme expliqué en "Nota", je peux pas garder l'expression $B$10:$Y$10 dans cet état puisque la sélection des données de ma courbe ne seront pas toujours au même endroit sur la page.
Pour ce faire, j'ai déclaré plusieurs variables : LigneX, ColonneMin, et ColonneMax
ces variables sont déterminées par une série de boucles "For - Next" qui me permettent de savoir ou sont les lignes que je souhaite intégrer dans mon graphiques.
L'idée étant de remplacer l'écriture $B$10:$Y$10 par : Cells(LigneX, ColonneMin) :Cells(LigneX, ColonneMax)
Mais voila, j'ai beau tourner cette phrase dans tous les sens, je tombe invariablement sur la même erreur
Code d'éxécution'1004':
Erreur définie par l'application ou par l'objet.
si vous pouviez m'aider a écrire ce bout de code, je vous en serait tres reconnaissant.
PS : Je ne peux vous joindre de fichier, celui ci contenant des données sensibles.
Merci d'avance.
Cordialement
agd