Excel Macro VB - Dessiner des rectangles

Résolu
ridertart Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   -  
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   -
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   Statut Membre Dernière intervention   17
 
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 24603 Date d'inscription   Statut Contributeur Dernière intervention   7 275
 
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   Statut Contributeur Dernière intervention   4 724
 
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   Statut Membre Dernière intervention   17
 
OUi donc ?

Merci de ta réponse super constructive.
0
gbinforme Messages postés 14946 Date d'inscription   Statut Contributeur Dernière intervention   4 724
 
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   Statut Membre Dernière intervention   79
 
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   Statut Contributeur Dernière intervention   4 724
 
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   Statut Membre Dernière intervention   33
 
Bravo, Enfin qqun le dit.
0
ridertart Messages postés 14 Date d'inscription   Statut Membre Dernière intervention   17
 
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