Rotation d'un graphique pour une animation

Résolu/Fermé
Stellou la rebelle Messages postés 20 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 23 juillet 2013 - 14 juin 2013 à 15:39
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 17 juin 2013 à 23:35
Bonjour à tous,
Je vous explique :

J'ai une fonction mathématique qui en fonction de paramètre, calcule des points à partir duquel je peux visualiser la coque d'un bateau sur un graph. J'ai donc sur mon graph une belle coque en vue de profil.

Mon problème est maintenant de faire bouger cette coque. En effet, je voudrais créer une animation dans lequel on visualise l'inclinaison de la coque selon la résistance/vitesse. J'ai très bien réussi cela avec une simple image de bateau (Image PNG).

Mon idée était donc de transformer mon graph (démunie d'axe, etc = sur un fond blanc) en image pour après le traiter comme je le veux grâce à mon programme d'animation. Pour cela, j'ai trouvé ces lignes de code :

Sub SauveGIF()

Dim chaine As String

Graph = ThisWorkbook.Path & "\" & ActiveChart.Name & ".JPG"
ActiveChart.CopyPicture( Filename:=Graph, FilterName:="JPG"



End Sub


Mais il présente plusieurs inconvénients :
Il se met dans le fichier où le classeur est enregistré du coup, il est difficile de le récupérer sachant que je voudrais que mon utilisateur n'est rien à faire.
Et après, je voudrais que mon image apparaisse toujours au même endroit !

Voici mon programme d'annimation au cas où :

<gras>Sub Animation()

Dim rep_count As Integer
rep_count = 1

Sheets("planante").Shapes("Graphique 28").Rotation = 0


Do
DoEvents

rep_count = rep_count + 1

Sheets("planante").Shapes("Graphique 28").Rotation = -Sheets("KREN").Cells(32, rep_count)

Timeout (0.3)


Loop Until rep_count = 12


End Sub

Sub Timeout(duration_ms As Double)
Dim Start_Timer As Double

Start_Timer = Timer

Do
DoEvents
Loop Until (Timer - Start_Timer) >= duration_ms

End Sub


</gras>

Merci d'avance pour votre aide !
A bientôt

3 réponses

Stellou la rebelle Messages postés 20 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 23 juillet 2013
14 juin 2013 à 15:42
Pardon les lignes de codes sont celles ci j'ai donnée celles que j'ai essayé de bidouiller ! :p

Sub SauveGIF()

Dim chaine As String

carenne = ThisWorkbook.Path & "\" & ActiveChart.Name & ".JPG"
ActiveChart.Export Filename:=carenne, FilterName:="JPG"

End Sub

Et comme vous pouvez le voir, je suis obligée de selectionner mon graph !
0
Stellou la rebelle Messages postés 20 Date d'inscription vendredi 14 juin 2013 Statut Membre Dernière intervention 23 juillet 2013
17 juin 2013 à 14:56
J'ai ces nouvelles lignes de code

Dim nomImage As String
Dim Grph As ChartObject
Dim Emplacement As Range
Dim Image As Chart

nomImage = "C:\Users\Estelle\graph.gif"

'Définit le 1er graphique dans la Feuil1
Set Grph = Feuil1.ChartObjects(1)
'Exporte le graphique au format image GIF
Grph.Chart.Export nomImage, "GIF"

Maintenant comment récupérer cette image pour l'insérer dans une cellule ou un endroit précis !? Merci
Avec insertpicture ?
0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 779
17 juin 2013 à 23:35
0