• Initiateur de la discussion Initiateur de la discussion Niouf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Niouf

XLDnaute Occasionnel
Bonjour à tous !

J'ai besoin d'aide sur une macro qui génère un graphique automatiquement 🙂

J'ai donc le code suivant :

Sheets("Valeurs Positives").Select
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlSurface
ActiveChart.SetSourceData Source:=Range("'Valeurs Positives'!$F$1:$J$6")
Constat.Show

Donc ici pas de problème, mon graphique se génère tout seul à partir de la plage de données : ("'Valeurs Positives'!$F$1:$J$6")

Mais le soucis ici c'est que ma plage de données est variable ...
Elle démarre toujours de la case F1 comme vous pouvez le voir, mais ne s'arrète pas toujours en J6

Ma question est donc la suivante :
Est ce que en gros à la place de J6 je peux dire à Excel : "Prends toutes les valeurs remplies du tableau "
Donc déclarer deux variables à la place de J et de 6 qui cherche la dernière colonne remplie et la dèrnière ligne remplie.

J'espere m'etre bien fait comprendre ... 😱

Merci d'avance à ceux qui m'aideront !
 
Re : Graphique VBA

Bonjour

Il te suffit de mettre les données source sous forme de tableau au sens excel du terme
Ce lien n'existe plus
Pas besoin de macro pour que le graphique se mette à jour automatiquement dans ce cas.
Si vraiment tu tiens à une macro quand même utilise alors les noms des colonnes du tableau excel comme source de données.
 
Re : Graphique VBA

Bonjour Niouf

Salut Misange

A tester:

Code:
Sheets("Valeurs Positives").Select
y = Cells(1, Columns.Count).End(xlToLeft).Column
x = Range("F" & Rows.Count).End(xlUp).Row
ActiveSheet.Shapes.AddChart.Select
ActiveChart.ChartType = xlSurface
ActiveChart.SetSourceData Source:=Range("'Valeurs Positives'!$F$" & x & ":$J$" & y)
Constat.Show
 
Re : Graphique VBA

Bonjour Messieurs,

Merci Misange, effectivement ca fonctionne avec un tableau 🙂
Puisque le graphique evolue en fonction des valeurs présentes dans le tableau.

Mais c'est vrai que c'est préférable pour moi de lee faire en macro.

J'ai donc essayé ta macro Jean Pierre, mais ca ne fonctionne pas du tout.
J'ai donc essayé de bricoler, mais rien ne fonctionne comme je voudrais...

Je joins un fichier Exemple, tu seras surement plus efficace que moi ...Regarde la pièce jointe TEST.xlsm
 

Pièces jointes

Re : Graphique VBA

Re bonjour, salut PierreJean

tu peux tout à faire ET faire un tableau (que j'ai nommé Tblo) ET l'utiliser en VBA de façon très simple :

Code:
Sub Graph()
Range("tblo[#DATA]").Select
    ActiveSheet.Shapes.AddChart.Select
    ActiveChart.ChartType = xlSurface
    ActiveChart.SetSourceData Source:=Range("tblo[#DATA]")
End Sub

de cette façon, ça reste dynamique et tu peux ajouter ce que tu veux dans ta feuille dans les autres lignes et autres colonnes sans risque de perturber les comptes
 
Re : Graphique VBA

Merci !

Ouais pour ce fichier test c'est impeccable .

Mais dans mon fichier original, il y en dans les cases vides de mon tableau une formule.
Et la macro considère que la case n'est pas vide...

Il n'y a pas moyen de contourner cela ?
 
Re : Graphique VBA

Que ce soit par macro par formule ou autre le problème reste le même : il faut mettre des formules dans lequel l'absence de résultat se gère avec
=si (condition;valeur si OK; na() )

Tout l'intérêt d'utiliser un tableau c'est aussi de NE PAS prévoir de lignes vides pour des données non encore obtenues mais à venir. Le tableau se remplit au fur et à mesure que les données sont dispos ce qui évite justement dans 99% des cas ce problème de cellules vides.

Faute de voir un fichier qui représente vraiment le type de données que tu as difficile d'aller plus loin.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
649
Réponses
5
Affichages
562
Retour