[HELP] decaler() + graphiques + recherchev()

lesurjul

XLDnaute Junior
Bonjour,

Voici une feuille extraite d'un classeur source que je réalise en stage dans le contrôle de gestion pour valider mon DUT. J'ai quelques soucies sur une feuille :
- Comment réaliser un graphique d'évolution (pour le CA, nb de clients, coûts horaires et résultats) par trimestre en nuage de point. Le souci c'est que les données s'implémentent par macro (report) qui rajoute une colonne et donc logiquement une valeur au graphique automatiquement. J'aimerais utiliser la fonction decaler() pour nommer les séries mais je n'y parvient pas (les fonctions sont déjà rédigées sur le classeur)
- Ensuite j'aimerais, en choisissant une condition (le CA, nb de clients, coûts horaires et résultats) arriver à retrouver le tableau de données pour ainsi faire un graphique qui se modifie selon si on chois le CA, nb de clients, coûts horaires et résultats, ...

Rien n'est clair mais j'ai tout détaillé, tout est sur le classeur joint détaillé :D
Merci de votre aide,

P.S : Question bonus ^^ : Est-il possible par macro d'executer simple l'outil de scénario "valeur cible" sans remplir les variables ?
 

Pièces jointes

  • XLD DEMANDE.xlsx
    20.9 KB · Affichages: 92

Nairolf

XLDnaute Accro
Re : [HELP] decaler() + graphiques + recherchev()

Tu trouveras ci-dessous un fichier avec un premier jet incomplet.
Dans celui-ci tu trouveras un graph que tu peux mettre à jour avec la cellule A46.

Pour le compléter il me faudrait la macro du bouton "report manuel" afin d'utiliser cette macro pour changer le nombre de colonnes prises en compte par le graphique.
 

Pièces jointes

  • XLD DEMANDE_Nairolf.xlsx
    29.1 KB · Affichages: 88

lesurjul

XLDnaute Junior
Re : [HELP] decaler() + graphiques + recherchev()

Merci Nairlof, je vais regarde ça en début d'après midi, merci d'avoir planché un peu dessus, je te tiens au courant.
Pour te répondre rapidement (je te donnerais tout ça vers 14hde toute façon) il me semblait que la macro était quand même visible et utilisable sur cet extrait sinon ce n'est pas un souci, je te la rajoute tout à l'heure.

Merci encore ;)
 

lesurjul

XLDnaute Junior
Re : [HELP] decaler() + graphiques + recherchev()

Alors alors :)
Je viens de consulter ton classeur, c'est vraiment un super premier jet.
-ta fonction si() est bien trouvée pour pouvoir mettre en avant que c'est des trimestres :) (c'est possible de configurer au cas ou cela soit à périodicité mensuelle ?)
-index+equiv j'arrivais pas a l'appliquer ici mais ça résout le probleme de recherchev() :D
- parfait pour la liste déroulante c'est ce que j'attendais :)

Voici la macro report :
Sub Report()
col = Sheets("Suivi evolution").Cells(3, Columns.Count).End(xlToLeft).Column + 1
For Each cel In Sheets("Suivi evolution").Range("B2:B25")
cel.Offset(0, col - 2) = cel.Value
Next
End Sub
Elle me permet de copier le plage B2:B25 dans la colonne F puis de décaller à chaque fois de +1 pour pouvoir faire une évolution.

Le dernier souci réside dans l'automatisation :
(1) du tableau de recherche utilisant les fonctions INDEX+EQUIV, par exemple si la plage K2:K25 venait a se remplir en utilisant la macro de repot, elle ne serait pas automatiquement reportait dans le tableau bleu et dans le graphique.
(2) pour que le graphique soit automatisée si il y a de nouvelles valeurs, il semble qu'il faut définir chaque série du graphique avec une fonction decaler() (que j'avais mit en colonne D.

Voilà, dit moi si ce n'est pas trop clair.
 

Nairolf

XLDnaute Accro
Re : [HELP] decaler() + graphiques + recherchev()

Petite info, pour que ton fichier (format 2007 ou 2010) puisse incorporer des macros il faut l'enregistrer en *.xlsm.

Essaye avec le fichier joint, j'ai mis dans la macro un bout de code qui permet d'agrandir la sélection du graphique en faisant une insertion de colonne. Il y a peut-être quelque chose de plus propre à faire, mais ça fonctionne.
 

Pièces jointes

  • XLD DEMANDE_Nairolf.xlsm
    36.9 KB · Affichages: 62
  • XLD DEMANDE_Nairolf.xlsm
    36.9 KB · Affichages: 61
  • XLD DEMANDE_Nairolf.xlsm
    36.9 KB · Affichages: 64

lesurjul

XLDnaute Junior
Re : [HELP] decaler() + graphiques + recherchev()

Oui ça fonctionne avec ton code, n'est-il pas possible de supprimer les colonnes si la valeur est vide, regarde ce que ça me donner au niveau du graphique si je venais à supprimer des données enregistré avec le report de la macro.

Merci encore de ton aide
 

Pièces jointes

  • XLD DEMANDE_Nairolf.xlsm
    34.9 KB · Affichages: 70
  • XLD DEMANDE_Nairolf.xlsm
    34.9 KB · Affichages: 73
  • XLD DEMANDE_Nairolf.xlsm
    34.9 KB · Affichages: 73

Nairolf

XLDnaute Accro
Re : [HELP] decaler() + graphiques + recherchev()

Oui on peut supprimer les colonnes, ça veut dire une macro un peu différente:
Si tu ne comptes pas supprimer les valeurs de tes reports fréquemment, tu peux le faire manuellement (suppression complète des colonnes et non seulement du contenu).
Sinon, le mieux est de faire un code qui met complètement le tableau à jour. Par exemple en supprimant toutes les colonnes (sauf la première) et insère autant de colonnes pour le graphique qu'il y a de colonnes issues du report.
 

lesurjul

XLDnaute Junior
Re : [HELP] decaler() + graphiques + recherchev()

Ok ok, je vais quand même essayer de définir la plage de chaque série du graphique avec une fonction décaler() car je ne suis pas capable de modifier le code, je ne maîtrise que très peu le VBA. Sinon j'effacerai manuellement :)
Merci
 

Nairolf

XLDnaute Accro
Re : [HELP] decaler() + graphiques + recherchev()

Tu trouveras ci-joint une version nettement améliorée :cool:

Cette fois-ci je ne suis pas passé par une macro mais seulement par des formules dans le graphique et c'est bien mieux.
 

Pièces jointes

  • XLD DEMANDE_Nairolf2.xlsm
    39 KB · Affichages: 75

lesurjul

XLDnaute Junior
Re : [HELP] decaler() + graphiques + recherchev()

Bonsoir,

Apparemment tu as essayé de mettre la zone de liste déroulante dans la feuille ou il y a le graphique ..
ça rend l'outil plus ergonomique ce qui est sympa MAIS (pck il y a toujours un mais ^^) :
- il y a toujours ce souci si je supprime par exemple la plage H2:J25 regarde l'état du graphique.. (decaler() ?)
- quand je modifie dans la liste dans la feuille graph ça me fait planter excel à chaque fois.. (microsoft excel à détecter un probleme etc.)

Au final on est moins avancé que tout à l'heure alors que c'est + ergonomique :)
Ca marche chez toi la liste déroulante ? Je ne trouve pas les fameuses "formule dans le graphique" ? Comment fait tu pour isoler le graphique de cette manière sur la feuille Graph ?
 

Nairolf

XLDnaute Accro
Re : [HELP] decaler() + graphiques + recherchev()

[...]
- il y a toujours ce souci si je supprime par exemple la plage H2:J25 regarde l'état du graphique.. (decaler() ?)
[...]
Il ne faut pas supprimer les lignes, mais les décaler avec un copier coller car en supprimant les cellules tu crées une perte de référence dans les cellules de recherche pour le graphique.
[...]
- quand je modifie dans la liste dans la feuille graph ça me fait planter excel à chaque fois.. (microsoft excel à détecter un probleme etc.)
[...]
Moi, je n'ai aucun problème lorsque je change de valeur dans la liste déroulante présente dans le graphe.
[...]
Ca marche chez toi la liste déroulante ?
[...]
Oui.
Tu as utilisé mon fichier sans aucune modification pour faire ça?
[...]
Je ne trouve pas les fameuses "formule dans le graphique" ?
[...]
Il faut que tu sélectionnes une série dans le graphe, puis tu peux modifier la formule de la série dans la barre de formule. Pour utiliser décaler dans cette formule il faut que tu le mette dans une formule de définition d'un nom (dans ce graphe, j'ai défini les noms "trimestre", "particuliers"...).
[...]
Comment fait tu pour isoler le graphique de cette manière sur la feuille Graph ?
[...]

La cellule C42 est la valeur de retour ("cellule liée") de la liste déroulante.
 

lesurjul

XLDnaute Junior
Re : [HELP] decaler() + graphiques + recherchev()

Ok en fait ça ne fonctionne pas que sur mon Mac, ça marche un pec sur PC :D

Il ne faut pas supprimer les lignes, mais les décaler avec un copier coller car en supprimant les cellules tu crées une perte de référence dans les cellules de recherche pour le graphique.
???

J'aimerais juste pouvoir supprimer une colonne reportée par erreur par exemple sans que le graphique devienne erroné avec une valeur 0.

Il faut que tu sélectionnes une série dans le graphe, puis tu peux modifier la formule de la série dans la barre de formule. Pour utiliser décaler dans cette formule il faut que tu le mette dans une formule de définition d'un nom (dans ce graphe, j'ai défini les noms "trimestre", "particuliers"...).
Ma question concernait la mise en page, je voulais savoir comment tu avais fait pour faire apparaître la feuille de Graph de cette manière, simplement ça ^^

Pour ce qui est du decaler() je pense ça peut résoudre le souci lors de la suppresssion je vais essayer de suite.

Merci
 

Statistiques des forums

Discussions
312 195
Messages
2 086 078
Membres
103 112
dernier inscrit
cuq-laet