Dessiner des boîtes par programme avec du code - Exemples de code VBA

Table des matières

Boîtes de dessin VBA avec code

Il y a de nombreuses raisons pour lesquelles vous voudrez peut-être pouvoir dessiner des boîtes par programmation, un diagramme de Gantt automatisé serait-il cool ? Voici une façon de le faire.

Voici le code de base pour dessiner une boîte :

12345678910 ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, 0, 48, 12.75).SélectionnezSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrue

Ce n'est vraiment pas si intimidant, il n'y a que deux choses notables à regarder; Schemecolor est évidemment la couleur et le 0,0,48,12,75.

Alors, quel est le 0,0,48,12,75 ? Simplement la position gauche, la position supérieure, la largeur et la hauteur. Vous pouvez les ajuster comme vous le souhaitez, en ajustant les deux premiers pour modifier la position des cases à l'écran et les deux derniers pour modifier la taille de la case. J'ai utilisé ces dimensions car elles étaient une bonne idée pour faire une boîte de la même taille qu'une cellule.

Et voici le code utilisé pour dessiner dynamiquement les cases vertes dans l'image ci-dessus :

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 Sous DynamicBoxes()Dim x comme double'Cela fait des boîtes horizontalesPour x = 0 à 240 Étape 48'référence aux 4 nombres à gauche, en haut, en largeur, en hauteurActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, x, 0, 48, 12,75).SélectionnezSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueSuivant x'Cela fait des boîtes verticalesPour x = 0 à 127,5 Pas 12,75ActiveSheet.Shapes.AddShape _(msoShapeFlowchartProcess, 0, x, 48, 12,75).SélectionnezSelection.ShapeRange.Fill.ForeColor.SchemeColor = 11Selection.ShapeRange.Fill.SolidSelection.ShapeRange.Fill.Visible = msoTrueSuivant xFin du sous-marin

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave