Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Combinaison "Cells" et "Range"

agd

XLDnaute Nouveau
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 :

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
 

agd

XLDnaute Nouveau
Re : Combinaison "Cells" et "Range"

De mon coté, j'ai retiré le caractère suivant : ' autour du nom de l'onglet et ca marche aussi apparemment.

Quelle est la bonne écriture ?
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Combinaison "Cells" et "Range"

Bonjour le fil, bonjour le forum,

Quelle est la bonne écriture ? Celle qui marche... Si les deux marchent, celle que tu veux...
Plus sérieusement, je sais pas.
 

Discussions similaires

Réponses
8
Affichages
498
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…