Excel Macro VB - Dessiner des rectangles
Résolu
ridertart
Messages postés
14
Statut
Membre
-
gbinforme Messages postés 15478 Statut Contributeur -
gbinforme Messages postés 15478 Statut Contributeur -
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.
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:
- Excel Macro VB - Dessiner des rectangles
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Dessiner un tableau - Guide
- Déplacer colonne excel - Guide
7 réponses
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 :)
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 :)
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
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
bonjour
Comment colorer mon rectangle
comment mettre un motif de remplissage pour mon rectangle ?
comment insérer une zone de texte
ICI
Comment colorer mon rectangle
comment mettre un motif de remplissage pour mon rectangle ?
comment insérer une zone de texte
ICI
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Salut,
Tu peux utiliser la commande
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))
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))
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.
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.