Un peu de méthode ...
guigol
Messages postés
66
Statut
Membre
-
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
skk201 Messages postés 942 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai appris les macros excel sur le tas. Et j'avoue je manque de méthode, de vocabulaire, de compréhension de comment tout cela marche exactement.
Mon problème d'aujourd'hui. (je suis un bavard, il y a un peu de texte avant d'arriver au fond du problème)
Je suis entrain de créer une macro qui insérera des graphiques dans autant de feuilles que de lignes de mon tableau, ...
pour faire tout ceci, pas de problème.
Le plus souvent, j'utilise l'enregistreur de macro, et je travaille sur le code.
Mais, je sais que je peux optimiser encore un peu plus.
Lorsque j'ai enregistré ma macro, j'ai obtenu ceci lorsque j'ai déplace mon graphique à l'endroit souhaité.
je vais donc modifier
Activesheet pour lui donner un nom avec une variable
"Graphique 1" va lui aussi un nom avec une variable.
IncrementLeft, ce n'est pas terrible. Je le sais. (il faudrait pouvoir lui donner sa position exacte, pas un déplacement) Mais comment savoir ce qu'il y a d'autres.
Par rapport à Shapes, je ne sais si c'est une méthode, une propriété, une fonction (pb de vocabulaire).
Lorsque je fouille un peu dans l'éditeur VBA, je peux afficher les "definitions" (MAJ+F2)
Mais à Shapes, je ne trouve pas IncrementLeft, par contre, je le trouve a Shape (sans le "s")
Ma question n'est donc pas de savoir par quoi remplacer IncrementLeft, mais de savoir ou trouver ce qui existe pour remplacer IncrementLeft et de comprendre comment fonctionne ce satané langage de programmation.
« Donne un poisson à un homme, il mangera un jour. Apprends-lui à pêcher, il mangera toute sa vie »
J'ai appris les macros excel sur le tas. Et j'avoue je manque de méthode, de vocabulaire, de compréhension de comment tout cela marche exactement.
Mon problème d'aujourd'hui. (je suis un bavard, il y a un peu de texte avant d'arriver au fond du problème)
Je suis entrain de créer une macro qui insérera des graphiques dans autant de feuilles que de lignes de mon tableau, ...
pour faire tout ceci, pas de problème.
Le plus souvent, j'utilise l'enregistreur de macro, et je travaille sur le code.
Mais, je sais que je peux optimiser encore un peu plus.
Lorsque j'ai enregistré ma macro, j'ai obtenu ceci lorsque j'ai déplace mon graphique à l'endroit souhaité.
ActiveSheet.Shapes("Graphique 1").IncrementLeft -510.75
je vais donc modifier
Activesheet pour lui donner un nom avec une variable
"Graphique 1" va lui aussi un nom avec une variable.
IncrementLeft, ce n'est pas terrible. Je le sais. (il faudrait pouvoir lui donner sa position exacte, pas un déplacement) Mais comment savoir ce qu'il y a d'autres.
Par rapport à Shapes, je ne sais si c'est une méthode, une propriété, une fonction (pb de vocabulaire).
Lorsque je fouille un peu dans l'éditeur VBA, je peux afficher les "definitions" (MAJ+F2)
Mais à Shapes, je ne trouve pas IncrementLeft, par contre, je le trouve a Shape (sans le "s")
Ma question n'est donc pas de savoir par quoi remplacer IncrementLeft, mais de savoir ou trouver ce qui existe pour remplacer IncrementLeft et de comprendre comment fonctionne ce satané langage de programmation.
« Donne un poisson à un homme, il mangera un jour. Apprends-lui à pêcher, il mangera toute sa vie »
A voir également:
- Un peu de méthode ...
- Methode rar - Guide
- Votre appareil est hors connexion. essayez une autre méthode de connexion - Forum Réseaux sociaux
- Mon pc portable reste "hors connexion"... ✓ - Forum Réseaux sociaux
- Le programme ne contient pas de méthode 'main' statique adaptée à un point d'entrée - Forum C#
- Quelle est la méthode la plus rapide pour supprimer une page dans word - Guide
2 réponses
Bonjour
Va voir ici : http://boisgontierjacques.free.fr/pages_site/lesimages.htm#Positionnement
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Va voir ici : http://boisgontierjacques.free.fr/pages_site/lesimages.htm#Positionnement
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Essaye ça :) Tu le colle au font de ton code et tu l'execute avec [F8] pour aller pas à pas.
Si tu veux lui donner la position grace à une formule :
Est-ce que tu es sûr de vouloir apprendre la différence entre Shapes et Shape ? :)
Sub Graf_Depl
ActiveSheet.Shapes("Graphique 1").Top = 0
ActiveSheet.Shapes("Graphique 1").Left = 0
ActiveSheet.Shapes("Graphique 1").IncrementTop 100
ActiveSheet.Shapes("Graphique 1").IncrementLeft 100
End Sub
Si tu veux lui donner la position grace à une formule :
Sub Graf_Pos (Haut as integer, Gauche as integer)
ActiveSheet.Shapes("Graphique 1").Top = Haut
ActiveSheet.Shapes("Graphique 1").Left = Gauche
End Sub
'Comment tu l'utilises
Sub Utilisation
Graf_Pos (100, 100)
End Sub
Est-ce que tu es sûr de vouloir apprendre la différence entre Shapes et Shape ? :)
Je connaissais pas ^^