Excel Macro VB - Dessiner des rectangles

Résolu/Fermé
ridertart Messages postés 14 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 21 février 2008 - 4 févr. 2008 à 16:18
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 8 févr. 2008 à 15:57
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.
A voir également:

7 réponses

ridertart Messages postés 14 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 21 février 2008 17
6 févr. 2008 à 09:59
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 :)
15
eriiic Messages postés 24570 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 23 avril 2024 7 213
6 févr. 2008 à 16:03
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
2
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
6 févr. 2008 à 11:01
bonjour

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


ICI
1
ridertart Messages postés 14 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 21 février 2008 17
6 févr. 2008 à 15:53
OUi donc ?

Merci de ta réponse super constructive.
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
8 févr. 2008 à 15:57
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.
1

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
julplemet Messages postés 331 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 22 juin 2009 79
4 févr. 2008 à 16:29
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))
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 684
4 févr. 2008 à 16:35
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.
0
phil_232 Messages postés 286 Date d'inscription jeudi 6 décembre 2007 Statut Membre Dernière intervention 12 juin 2008 33
4 févr. 2008 à 20:33
Bravo, Enfin qqun le dit.
0
ridertart Messages postés 14 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 21 février 2008 17
8 févr. 2008 à 10:10
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.
0