Macro + fonction SI + données dans graphique [Résolu/Fermé]

Signaler
Messages postés
135
Date d'inscription
mardi 11 juin 2013
Statut
Membre
Dernière intervention
19 mars 2018
-
 Ju@nita -
Bonjour, (Excel 2010)

J'ai un graphique pour les ventes de chaque mois.
J'ai une macro par mois pour modifier les sources de données du graphique. Exemple:

Sub PERIODE7()
'
' PERIODE7 Macro
' PÉRIODE 7
'
' Touche de raccourci du clavier: Ctrl+Shift+Y
'
ActiveSheet.ChartObjects("Graphique 2").Activate
ActiveChart.SeriesCollection(1).Values = "=ER!$B$13:$H$13"
ActiveChart.SeriesCollection(3).Values = "=ER!$B$18:$H$18"
ActiveChart.SeriesCollection(5).Values = "=ER!$B$23:$H$23"
ActiveChart.SeriesCollection(7).Values = "=ER!$B$43:$H$43"

End Sub

Et à chaque période (de 1 à 12) a sa macro pour augmenter la valeur de la série ER!$B$13:$H$13 à ER!$B$13:$I$13 etc... pour avoir un mois de plus dans le graphique. C'est plus rapide que d'aller changer manuellement chaque donnée de chaque ligne de mon graphique.

Mais j'ai pensé qu'il me serait peut-être possible de mettre toutes mes macros en une seule qui dirait: si Q1=1 (soit le mois 1) alors change le graphique ... si Q1=2 ce sera d'autres valeur de série, etc..
Donc, ma fonction SI aurait 12 conditions (ou je ne sais pas trop quelle expression utiliser), si vous me suivez.
Mais je n'arrive pas à switcher dans mon graphique quand je suis dans la fonction SI.

Pouvez-vous m'aider à composer ma macro svp ?

merci pour votre aide.


17 réponses

Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
Bonjour

Pouvez-vous nous joindre un fichier sans données personnel pour voir comment cela se présente.
Il faut peut être indexer le graphique sur un champ qui se met à jour en sélectionnant un mois donné par formule sans macro à voir
Messages postés
16376
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
25 janvier 2021
3 119
Bonjour,

Ci joint un exemple de graphique évolutif par formules feuille "agrandissement au fil d'une année"
A toi d'adapter à ton nombre de séries

bon courage quand m^me ;o)
https://www.cjoint.com/?3Jmk2P0AqV0
PHILOU10120
Je suis désolée :(
Je n'arrive pas à me bâtir un fichier pour le joindre car ça bousille tout.
Car il y a plein de formules qui vont chercher des données directement dans notre système de comptabillité. Je finis toujours par en oublier à quelque part et ça me fait plein de message d'erreur.
Faudra que je prenne plus de temps pour ça et là, je commence à manquer de temps pour faire mon travail régulier.
Je vais essayer de me trouver du temps dans le courant de la semaine

michel_m
votre fichier dépasse largement mes compétences dans ce domaine. C'est même pas moi qui a bâti le graphique. Je ne suis pas très calée là dedans.
Là aussi, faudra que je prenne plus de temps pour étudier le tout.

Merci à vous deux... c'est à suivre.
bonne semaine.
Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
Bonjour

Voici un modèle de fichier les infos sont ramenées par formules dans un champ pour créer le graphique

https://www.cjoint.com/?3JpreXAJ3LE
PHILOU10120, je crois que vous tenez une solution intéressante.

J'ai éliminé beaucoup de choses dans mon fichier pour garder juste le nécessaire.
J'ai pas pu remettre mes macros. Donc, on les oublie car j'aime l'idée du menu déroulant.
Mais j'ai un peu de difficulté à l'adapter.
Voyez les formules qui sont dans mon graphique qui vont chercher les données dans la feuille ER (état des résultats).

Comment faire en sorte que la rechercheV aille chercher les mêmes données en fonction de ce qu'on choisit dans le menu déroulant ?
Et j'ai pas saisi à quoi sert la ligne 37 du sommaire, soit les chiffres en rouge. (pas trop familière avec tout ça)

Et pour votre information, les lignes pointillées du graphique sont les données de l'année précédente qu'on n'a pas à changer car on veut voir l'année au complet en background.

http://cjoint.com/?CJpukXrbMT5

un gros merci pour votre aide.
pourquoi mon lien n'est pas en bleu ?
Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
Bonjour

Les chiffres en rouge permettent de trouver le numéro de la colonne avec une rechercheH et ce chiffre sera utilisé dans la rechercheV

Je regarde votre fichier j'essai de comprendre les infos et je le modifie si je comprends votre besoin

C'est en forgeant que l'on devient forgeron. - C'est au pied du mur que l'on voit le maçon - on apprend toujours de ses erreurs
Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
Bonjour Ju@nita

Je vous ai mis les rechercheV, regarder si c'est cela que vous voulez
Puis dites moi ce que vous souhaitez.

https://www.cjoint.com/?3Jpu23iQrZo

bonne soirée
ok, ça s'en vient.
mais il faudrait que le graphique se mette tout seul à jour. Car pour le moment, à chaque mois, on doit aller modifier la sélection des données dans chaque ligne.
Donc, si la sélection irait chercher les données dans les résultats de la rechercheV, et même que si on pourrait ne pas avoir à utiliser le menu déroulant, ce serait bien.
Quand on fait une mise à jour de notre fichier, le fichier comporte des liens avec notre programme de comptabilité et automatiquement, dans ER Q3 (oups, je l'ai effacé dans mon exemple), c'est écrit la période où on est rendu, soit 4 pour le mois d'août et quand je serai rendue en septembre, ce sera écrit 5, et les données de septembre se rajouteront tout seul dans la colonne F de la feuille ER. Et c'est ensuite qu'on doit modifier le graphique. Comment pourrait-il se mettre à jour tout seul ? c'est à dire, prolonger les lignes de l'année courante pour les 4 lignes ?
Par exemple, dans la sélection des données, présentement, pour la ligne des ventes 2013-2014, la formule est: =ER!$B$15:$E$15


merci.
Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
Bonjour

Je viens de modifier le fichier pour répondre à vos attentes


https://www.cjoint.com/?3Jqkb4OfRO7
Presque.
Faudrait pas à avoir à démasquer et masquer à chaque fois.
Moi je suis à l'aise avec la solution. Mais faut que je pense à mes collègues qui utiliseront le même type de fichier. Ils ne sont pas tous à l'aise avec Excel. Je travaille à éliminer le plus de manipulation possible en automatisant le plus de choses possible. Nos EF comportent beaucoup de feuille et beaucoup de formule qu'il fallait modifier sans cesse et il y avait toujours quelqu'un qui oubliait quelque chose à quelque part.
Faudrait que dans la formule dans le graphique, qu'il y ait une condition. Si on est en période 4, va chercher les info de la période 1 à 4, etc...
C'est ça que je n'arrive pas à formuler. Est-ce que ça se met une formule SI dans le graphique ?
merci
Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
Bonjour ju@nita

la dernière modification pour affichage suivant sélection

https://www.cjoint.com/?3JqpJlYGfn9
faut pas que la ligne continue vers le bas dans le graphique. Comme dans mon exemple. Si je sélectionne août, faut que la ligne du graphique s'arrête en août.
Mais on dirait que ça ne peut pas fonctionner à moins de cacher les colonnes non voulues.
donc, si je mettais une macro (une seule au lieu de 12, ce serait quand même très bien), qui dirait: si L21="août" alors cache les colonnes Q à X, si L21="sept" cache les colonnes R à X. Est-ce possible ?
Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
C'est pour cela que j'avais masqué les colonnes
regardez ce que je viens de trouver en faisant des recherches sur le forum:
SUJET: [Excel]Masquer 3 lignes lorsqu'une case = 0
et ça donnait comme proposition:

If Range("ae33") = "0" Then
Rows("31:33").Select
Selection.EntireRow.Hidden = True
End If


j'ai fait une macro en changeant les données pour:

If Range("L21") = "juil" Then
Columns("P:X").Select
Selection.EntireColumn.Hidden = True
End If

End Sub

ça semble marcher.
je vais tester si je peux mettre toutes les conditions possibles (soit 12) pour voir si ça fonctionne toujours.
je vous reviens...
ÇA MARCHE !!!!!

voici mon fichier avec la macro:

http://cjoint.com/?CJqtO6h3VW9

Les gens auraient juste à changer le mois en L21 et cliquer sur le bouton "macro"

C'EST SUPER COOL !!!!!

il me reste juste à aller mettre ça dans un vrai gros fichier.
C'est merveilleux !

Merci à ce site super génial !
Et merci à vous, PHILOU10120 pour votre patience et vos bonnes idées.

bonne journée.
Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
Bonjour Ju@anita

Je viens de finir la macro sans utiliser le mois voici le fichier

https://www.cjoint.com/?3JquoZah21Q
j'ai des drôles de résultats.
Premièrement, les mois dans le bas du graphique disparaissent.
Faudrait pas qu'ils disparaissent car ils servent à voir l'année précédente au complet (les lignes en pointillées), donc faut voir quel mois donnait quoi comme tracé.

et quand j'essaie de créer mon menu déroulant pour sélectionner les mois, quand j'ouvre le menu, je vois chaque mois. Mais quand je clique sur juin, par exemple, ça écrit 41455, Pour juillet, ça écrit 41486, même si je change le format de cellule.
Faut que je précise que les EF ne débutent pas tous en mai. Chaque compagnie a sa propre période. Donc, faut que je fasse référence à des mois déjà écrits dans une autre feuille.
Mon menu réfère donc à des formules, du genre: =+GÉNÉRAL!E26 et dans général, c'est écrit juin-13 (pour juin 2013) mais le format de cellule est 2013-06-30.
Pas le choix d'opérer ainsi.
ok j'ai réussi à tout arranger.
tout fonctionne à merveille et mes mois restent affichés dans le graphique.

merci beaucoup pour votre aide précieuse

bonne journée.
Messages postés
5533
Date d'inscription
lundi 16 avril 2012
Statut
Contributeur
Dernière intervention
8 janvier 2021
552
Bonjour j'étais en train de faire la mise à jour de Windows 8.1 Pro et j'ai oublie de vous dire de mettre une formule dans la liste pour récupérer le nom des mois en W4 = $M$24 W5 =$N$24 et ainsi de suite
pas besoin, merci.
J'ai réglé le problème des mois, j'ai pris le numéro des périodes à la place. Pér. 1 à 12.
Comme ça, ça devient standard pour toutes les compagnies puisque les mois diffèrent d'une compagnie à l'autre, mais pas le numéro des périodes. C'est super cool. Ça fonctionne à merveille.
encore merci.