Sélectionner plage données variable graphique

Résolu/Fermé
Sadokaze78 Messages postés 2 Date d'inscription mercredi 6 juin 2018 Statut Membre Dernière intervention 6 juin 2018 - 6 juin 2018 à 10:58
Sadokaze78 Messages postés 2 Date d'inscription mercredi 6 juin 2018 Statut Membre Dernière intervention 6 juin 2018 - 6 juin 2018 à 12:21
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

2 réponses

f894009 Messages postés 17189 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 6 mai 2024 1 705
6 juin 2018 à 11:31
Bonjour,
derniere cellule non vide colonne D
derlig = Range("D" & Rows.Count).End(xlUp).Row
ActiveChart.SetSourceData Source:=Sheets("Matrice_Graph").Range("B1:D" & derlig) 
0
Sadokaze78 Messages postés 2 Date d'inscription mercredi 6 juin 2018 Statut Membre Dernière intervention 6 juin 2018
6 juin 2018 à 12:21
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 !
0