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
A voir également:
- Excel graphique plage de données variable
- Liste déroulante excel - Guide
- Trier des données excel - Guide
- Changer de carte graphique - Guide
- Graphique camembert excel - Guide
- Word et excel gratuit - Guide
2 réponses
Bonjour,
derniere cellule non vide colonne D
derniere cellule non vide colonne D
derlig = Range("D" & Rows.Count).End(xlUp).Row ActiveChart.SetSourceData Source:=Sheets("Matrice_Graph").Range("B1:D" & derlig)
Bonjour
Pourquoi ne pas nommer dans la feuille tes plages de données de façon dynamique avec DECALER
Sinon avec vba
Cdlmnt
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
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 !