Un peu de méthode ...
guigol
Messages postés
65
Date d'inscription
Statut
Membre
Dernière intervention
-
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 ...
- Votre appareil est hors connexion. essayez une autre méthode de connexion - Forum Réseaux sociaux
- Methode rar - Guide
- La méthode range de l'objet _global a échoué ✓ - Forum VB / VBA
- Mon pc portable reste "hors connexion"... ✓ - Forum Réseaux sociaux
- Le client et le serveur ne sont pas compatibles avec une version de protocole ou une méthode de chiffrement ssl commune. ✓ - Forum Réseaux sociaux
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 ^^