Sélectionner plage données variable graphique
Résolu
Sadokaze78
Messages postés
2
Statut
Membre
-
Sadokaze78 Messages postés 2 Statut Membre -
Sadokaze78 Messages postés 2 Statut Membre -
Bonjour à tous,
Etant novice en programmation je requiers votre aide pour me permettre à ma macro de fonctionner complètement.
Pour expliquer mon problème en langage courant, je souhaite :
- Sélectionner le graphique dans le feuille "Choix"
- Déterminer la plage de données du graphique type radar
- La plage de données se trouve sur la feuille "Matrice_Graph"
- Sélectionner dans la feuille "Matrice_Graph" la plage de B1 à la dernière cellule non vide de la colonne D
- Fin de macro
Voilà ce que m'affiche VisualBasic :
Sheets("Choix").Select
ActiveSheet.ChartObjects("Graphique 3").Activate
Application.CutCopyMode = False
ActiveChart.SetSourceData Source:=Sheets("Matrice_Graph").Range("B1:D18")
Je ne souhaite pas que dans .Range("B1:D18"), D18 soit sélectionner mais Dernière cellule non vide de la colonne D (comme lorsqu'on fait Ctrl+Flèche de droite puis Crtl+Flèche du bas) car ma plage de données sera variable et ne sera pas toujours égale à 18 lignes.
Je vous remercie d'avance
Etant novice en programmation je requiers votre aide pour me permettre à ma macro de fonctionner complètement.
Pour expliquer mon problème en langage courant, je souhaite :
- Sélectionner le graphique dans le feuille "Choix"
- Déterminer la plage de données du graphique type radar
- La plage de données se trouve sur la feuille "Matrice_Graph"
- Sélectionner dans la feuille "Matrice_Graph" la plage de B1 à la dernière cellule non vide de la colonne D
- Fin de macro
Voilà ce que m'affiche VisualBasic :
Sheets("Choix").Select
ActiveSheet.ChartObjects("Graphique 3").Activate
Application.CutCopyMode = False
ActiveChart.SetSourceData Source:=Sheets("Matrice_Graph").Range("B1:D18")
Je ne souhaite pas que dans .Range("B1:D18"), D18 soit sélectionner mais Dernière cellule non vide de la colonne D (comme lorsqu'on fait Ctrl+Flèche de droite puis Crtl+Flèche du bas) car ma plage de données sera variable et ne sera pas toujours égale à 18 lignes.
Je vous remercie d'avance
2 réponses
-
Bonjour,
derniere cellule non vide colonne Dderlig = Range("D" & Rows.Count).End(xlUp).Row ActiveChart.SetSourceData Source:=Sheets("Matrice_Graph").Range("B1:D" & derlig)-
Bonjour,
Si je comprends bien tu définis une plage de cellules variable que tu nommes derlig et ensuite tu l'inclus dans la commande SetSourceData c'est cela ?
Après avoir entrer ta commande dans VisualBasic, le graphique ne sélectionne que la première ligne (soit la ligne 1). En changeant xlUp par XlDown la commande fonctionne parfaitement !!
Merci à toi et bonne journée !
-
-
Bonjour
Pourquoi ne pas nommer dans la feuille tes plages de données de façon dynamique avec DECALER
Sinon avec vba
Dim gr As Object, lifin As Long
lifin = Sheets("Matrice Graph").Range("D" & Rows.Count).End(xlUp).Row
With ActiveSheet
Set gr = .ChartObjects(1).Chart
gr.SetSourceData Source:=Sheets("Matrice Graph").Range("B1:D" & lifin)
End With
Cdlmnt