Excel Macro VB - Dessiner des rectangles [Résolu/Fermé]

Signaler
Messages postés
14
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
21 février 2008
-
gbinforme
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
-
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.

7 réponses

Messages postés
14
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
21 février 2008
16
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 :)
13
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 79672 internautes nous ont dit merci ce mois-ci

Messages postés
23175
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
13 janvier 2020
5850
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
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3788
bonjour

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


ICI
ridertart
Messages postés
14
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
21 février 2008
16
OUi donc ?

Merci de ta réponse super constructive.
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3788
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.
Messages postés
331
Date d'inscription
mercredi 25 avril 2007
Statut
Membre
Dernière intervention
22 juin 2009
78
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))
Messages postés
15079
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
23 juin 2018
3788
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.
phil_232
Messages postés
289
Date d'inscription
jeudi 6 décembre 2007
Statut
Membre
Dernière intervention
12 juin 2008
31
Bravo, Enfin qqun le dit.
Messages postés
14
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
21 février 2008
16
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.