Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1160 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème création graphique automatisée

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème création graphique automatisée

n°1423413
rob-92
Posté le 10-08-2006 à 09:36:15  profilanswer
 

Bonjour,  
j'ai créé une macro, qui grâce à une requête Access, me permet de récupérer des valeurs et de les ordonner en tableau dans Excel. Maintenant je voudrais que les graphiques soient automatisés que ce ne soit pas à l'utilisateur de le faire. Le morceau de code qui suit est peut-être une réponse à mon problème, cependant j'ai une erreur lors de son exécution : variable objet ou variable de bloc With non définie (ceci correspond à la ligne Cells.find).  
Si quelqu'un pouvait m'aider, merci.
 
 

Code :
  1. Sub Graphiques()
  2. 'Recherche les données
  3.    Do While Selection.End(xlDown).Row < Range("A65536" ).End(xlUp).Row + 1
  4.    Worksheets("Feuil1" ).Cells.Find(What:="!", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
  5.    ActiveCell.Select
  6.    Selection.Font.Bold = True
  7.    ActiveCell.Offset(1, 0).Select
  8. Loop
  9. 'Sélectionne les données
  10.     ActiveCell.Offset(1, 0).Select
  11.     Range(Selection, Selection.End(xlDown)).Select
  12.     Range(Selection, Selection.End(xlToRight)).Select
  13.     Set donne = Selection
  14. 'Créée le graphique
  15.    Charts.Add
  16.    ActiveChart.SetSourceData Source:=donne
  17.    ActiveChart.Location Where:=xlLocationAsNewSheet
  18.    ActiveSheet.Next.Select
  19.    Sheets("Feuil1" ).Select
  20. End Sub

mood
Publicité
Posté le 10-08-2006 à 09:36:15  profilanswer
 

n°1423424
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 09:45:59  profilanswer
 

Moi j'utilise ca pour generer mes graphiques, ca pourra t'aider :
 
Dim GraphPPMFour As Chart
    Set GraphPPMFour = ThisWorkbook.Charts.Add
    GraphPPMFour.ChartType = xlColumnStacked
    GraphPPMFour.ChartArea.Interior.Color = vbWhite
    ActiveChart.Shapes.AddTextbox(msoTextOrientationHorizontal, 8.25, 9#, 89.25, 21.75).Select
    Selection.Characters.Text = Now()
    GraphPPMFour.SetSourceData _
                Source:=Sheets("Base de donnees DOPA" ).Range("donnee" ), _
                PlotBy:=xlColumns
    With GraphPPMFour
        .HasTitle = True
            With .ChartTitle
                .Characters.Text = "Indicateur PPM Fournisseur"
                .Shadow = True
                .Border.Weight = xlColumns
            End With
    End With
    GraphPPMFour.Location _
        Where:=xlLocationAsObject, _
        Name:="Graphiques Indicateurs"

n°1423437
rob-92
Posté le 10-08-2006 à 10:04:21  profilanswer
 

Merci pour l'aide, cependant j'ai un problème avec une ligne :
GraphPPMFour.SetSourceData _  
                Source:=Sheets("Feuil2" ).Range("donnee" ), _  
                PlotBy:=xlColumns  

n°1423439
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 10:11:17  profilanswer
 

ba "Feuil2" il faut que tu le remplaces par le nom de ta feuille, et "donnee", tu dois y mettre le nom de ta plage de données pour générer ton graphique (pou définir une plage : Insertion > Nom > définir)

n°1423441
rob-92
Posté le 10-08-2006 à 10:12:50  profilanswer
 

ah daccord !! merci pour l'aide !!
une dernière question, quand la plage est aléatoire (les lignes uniquement le sont) comment faire ?

n°1423442
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 10:15:31  profilanswer
 

utilise la fonction DECALER, elle permet de prendre en compte les lignes rentrés par l'utilisateur.
 
bon courage :)

n°1423446
rob-92
Posté le 10-08-2006 à 10:21:32  profilanswer
 

j'ai toujours une erreur sur la même ligne :s (erreur définie par l'application ou par l'objet). où définit-on "donnee" ? c'est le nom que l'on met avec DECALER(Feuil1!$A$2;0;0;NBVAL(Feuil1!$A:$A)-1;) ?
 
merci pour l'aide

n°1423454
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 10:28:48  profilanswer
 

voila une ligne de selection :
 
=DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A)-1)

n°1423458
rob-92
Posté le 10-08-2006 à 10:33:26  profilanswer
 

ok mais j'ai toujours un problème avec une ligne :  
GraphPPMFour.SetSourceData _  
                Source:=Sheets("Feuil2" ).Range("donnee" ), _  
                PlotBy:=xlColumns  
c'est peut-être le terme donnee qui pose problème je ne sais pas trop

n°1423461
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 10:36:47  profilanswer
 

ba il faut que tu mettes bien le bon nom de graphique, le nom de la feuille que tu utilise et le nom de la plage de données que tu as créer
 
chez moi ca marche ^^

mood
Publicité
Posté le 10-08-2006 à 10:36:47  profilanswer
 

n°1423465
rob-92
Posté le 10-08-2006 à 10:44:01  profilanswer
 

je ne vois pas où est le problème :s

n°1423467
rob-92
Posté le 10-08-2006 à 10:45:20  profilanswer
 

est-ce que je peux t'envoyer mon document pour voir si j'ai fait une erreur bête stp ?

n°1423485
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 10:59:37  profilanswer
 

na dsl j'ai pas le tps

n°1423493
rob-92
Posté le 10-08-2006 à 11:05:41  profilanswer
 

ok merci qd mèm

n°1423506
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 11:15:04  profilanswer
 

je t'en prie

n°1423563
rob-92
Posté le 10-08-2006 à 12:23:35  profilanswer
 

est-ce que tu pourrais me commenter le code stp pour que je vois d'où viens le problème ?

n°1423567
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 12:30:13  profilanswer
 

faut pas abuser lol je t'ai filé un code qui marche qui n'est pas tres complexe à comprendre ^^

n°1423569
rob-92
Posté le 10-08-2006 à 12:31:16  profilanswer
 

ben oui mais j'ai toujours le même problème avec cette ligne :
GraphPPMFour.SetSourceData Source:=Sheets("Feuil2" ).Range("donnee" ), PlotBy:=xlColumns

n°1423572
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 12:35:08  profilanswer
 

je t'ai passé des lignes de code qui marche, je t'ai expliqué ce qu il fallait mettre dedans.
 
Désolé mais je vais pas faire ton projet a ta place.

n°1423579
rob-92
Posté le 10-08-2006 à 12:43:21  profilanswer
 

oula !! mais je n'ai jamais demandé ça, j'essaie juste de comprendre.
le truc c'est que quand je fais Insertion > Nom > définir et que je mets donnee comme nom et que je déclare ma plage (="DECALER(Feuil2!$A$2;;;NBVAL(Feuil2!$A:$D)-1)" ), le code ne s'éxécute pas correctement, c'est pourquoi je demandais des explications.

n°1423583
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 12:47:33  profilanswer
 

moi je t'ai donné un exemple, apres pourquoi ta ligne ne marche pas je peux pas le savoir
 
=DECALER(Feuil1!$A$2;;;NBVAL(Feuil1!$A:$A)-1)  
 
cette ligne marche a toi de l'adapter a ton projet
 
bon courage

n°1423586
rob-92
Posté le 10-08-2006 à 12:54:45  profilanswer
 

ok maintenant que j'ai modifié ce que tu m'as dit ça marcha presque en entier. reste plus que ça qui pose problème :
GraphPPMFour.Location Where:=xlLocationAsObject, Name:="Graphiques"  
Le name qu'il faut remplir doit correspondre à quoi ?
 
merci pour l'aide

n°1423588
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 12:55:59  profilanswer
 

ca doit correspondre au nom de la feuille ou le graphique doit etre créé :)

n°1423590
rob-92
Posté le 10-08-2006 à 12:57:28  profilanswer
 

ah ok donc ce n'est pas ça le problème. Est-ce que tu as déjà eu ce message d'erreur : la méthode Location de l'objet '_Chart' a échouée. ?

n°1423595
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 13:01:19  profilanswer
 

ca ne me dit rien mais il faut que tu ai Name:="nom_de_ta_feuille"
 
ou nom_de_ta_feuille doit etre la feuille ou le graphique se créé et evidement cette feuille doit exister :)

n°1423596
rob-92
Posté le 10-08-2006 à 13:03:03  profilanswer
 

ahhh ben c'est cool alors !! ç marche nikel !!
merci beaucoup

n°1423598
GillooZ
un reportage de filip loulou
Posté le 10-08-2006 à 13:08:25  profilanswer
 

je t'en prie :)
 
bonne continuation

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Problème création graphique automatisée

 

Sujets relatifs
[HTML-CSS] Problème de DOCTYPEproblème installation mediawiki en local
probleme de resultat retourné par une variable[Access] Problème de SQL
probleme de boucleprobleme avec base de donnes SQL
Probleme de relance de sessions sous IEDelphi : Problème de format de date
Problème avec .findProblème avec Vlookup et question sur MsgBox
Plus de sujets relatifs à : Problème création graphique automatisée


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR