Rechercher : dans
Par :

Excel Macro VB - Dessiner des rectangles

Dernière réponse le 8 fév 2008 à 15:57:17 ridertart, le 4 fév 2008 à 16:18:06 
 Signaler ce message aux modérateurs

Bonjour,

J'aurais souhaité un peu d'aide pour un projet sur Excel ...

Je ne sais pas comment dessiner de Rectangle avec VB sur Excel mais je voudrais dessiner plusieurs rectangle sur Excel à l'aide de d'un chiffre par rectangle (hauteur du rectangle), la largeur étant fixe. Le dessins devrait être réalisé lorsque je clique sur un buton que j'ai crée.

Les rectangles doivent etres les uns en dessous des autres.

Je voudrais aussi pouvoir faire un copier coller de ce dessin sur Word mais sera t'il modifiable comme si j'avais fais un simple dessins avec des lignes des rectangles et du texte sur Word ?

Je voudrais également dessiner des traits et mettre du texte à côté de chaque rectangle ...


Quelqu'un peut il m'aider me donner la marche à suivre ?

Private Sub CommandButton1_Click()

...
...
...
...Rectangle( ...)

End Sub


J'ai beau cherché de la doc sur le net je ne trouve rien qui soit bien expliqué ... Désolé je ne suis pas un expert en VB :)

Merci par avance.

Configuration: Windows XP
Internet Explorer 7.0
Office XP

Meilleures réponses pour « Excel Macro VB Dessiner des rectangles » dans :
Télécharger MOREFUNC (Macro complémentaire EXCEL) VoirMorefunc est une macro complémentaire proposant 67 nouvelles fonctions de feuille de calcul pour Excel. Ces fonctions sont compatibles avec Excel 95 à 2007. Elles ne sont pas portables sur d'autres plate-formes que Windows, ni sur d'autres...

1

julplemet, le 4 fév 2008 à 16:29:50

Salut,

Tu peux utiliser la commande

ActiveSheet.Shapes.AddShape(msoShapeRectangle, x1, y1, x2, y2).Select


où x1,y1 sont les coordonnées du point en haut à gauche
et x2,y2 sont les coordonnées du point en bas à droite

(à remplacer par des variables contenant des réels (par exemple: ActiveSheet.Shapes.AddShape(msoShapeRectangle, 135.75, 148.5, 204.75, 165.75).Select))

Répondre à julplemet

2

gbinforme, le 4 fév 2008 à 16:35:25

Bonjour

Tu veux faire beaucoup de choses mais tu ne sais pas comment faire du code.

Tu vas dans menu outils / macro / nouvelle macro

Tu enregistres ainsi les manipulations que tu veux faire en VBA et à partir de là tu vas avoir le point de départ de ton code à mettre dans ton bouton.

Ensuite si tu ne comprends pas certains éléments cela sera plus facile de t'aider.
Le savoir est la seule matière qui s'accroît quand on la partage. (Socrate)

Répondre à gbinforme

3

phil_232, le 4 fév 2008 à 20:33:07

Bravo, Enfin qqun le dit.

Répondre à phil_232

4

ridertart, le 6 fév 2008 à 09:59:58

Merci ça marche pour le rectangle j'ai réussi à les dessiner comme je voulais.
Je suis d'accord pour x1 et x2 mais y1 et y2 dans

ActiveSheet.Shapes.AddShape(msoShapeRectangle, x1, y1, x2, y2).Select

ne serait ils pas plutôt la longueur et la largeur du rectangle plutôt que les coordonnées du point en bas à droite ? Enfin c'est ce qu'il me semble...

Par contre maintenant 2 autres questions :

Comment colorer mon rectangle et encore plus dur comment mettre un motif de remplissage pour mon rectangle ?

Sinon comment insérer une zone de texte sur une feuille excel et ecrire du texte à l'intérieur ... ?

Merci beaucoup à vous, j'avance petit à petit :)

Répondre à ridertart

5

gbinforme, le 6 fév 2008 à 11:01:10

Bonjour

Comment colorer mon rectangle
comment mettre un motif de remplissage pour mon rectangle ?
comment insérer une zone de texte


ICI
Le savoir est la seule matière qui s'accroît quand on la partage. (Socrate)

Répondre à gbinforme

6

ridertart, le 6 fév 2008 à 15:53:09

OUi donc ?

Merci de ta réponse super constructive.

Répondre à ridertart

7

eriiic, le 6 fév 2008 à 16:03:34

Bonjour,

Il a raison, c'est le meilleur moyen pour apprendre et progresser En plus ça t'évite de fouiller dans la doc parce que dans ta macro enregistrée tu y trouveras les noms d'objets qui t'interessent, les propriétés, les methode.
Et si un terme t'échappe F1 dessus et tu as tout le détail, des liens vers l'autre propriété que tu cherches depuis 2h etc
Alors ne soit pas fainéant, met l'enregistreur de macro en route, dessine un rectangle, change sa taille, sa position, sa couleur, sa bordure (couleur, épaisseur, style), du texte etc .
Arrete l'enregistreur, regarde le code et y auras toutes tes réponses, même celles que tu n'était pas posées...
eric

Répondre à eriiic

8

ridertart, le 8 fév 2008 à 10:10:04

Merci, c'est vrai que vous m'avez fait avancer sur VB ...

Lorsque je faisais une marco je faisais un bouton et je cliquais direct dessus pour écrire ma marco ... je fais pareil sur Delphi ... pourtant c'est suite à un cours que j'ai eu d'un prof il y a un moment...

Merci à vous.

Répondre à ridertart

9

 gbinforme, le 8 fév 2008 à 15:57:17

Bonjour

Désolé d'avoir un peu insisté mais pour faire ce que tu voulais qui était assez spécifique, je doute qu'il y ait beaucoup de personnes qui puissent "cliquer direct dessus pour écrire ma macro".

Souvent, même lorsque l'on connaît le code, il faut chercher pour une erreur de frappe, alors autant laisser VBA débiter son laïus, et ensuite on peaufine.
Le savoir est la seule matière qui s'accroît quand on la partage. (Socrate)

Répondre à gbinforme