Créer des formes géométriques à partir de données d'une feuille excel

sebrod

XLDnaute Nouveau
Bonjour à toutes et à tous

Je cherche à développer une petite macro me permettant, à partir de données saisies dans une feuille (cf ci dessous), de créer des objets (cf image jointe) dans une autre feuille

Forme 1 Forme 2 Forme 3
Min Max Détail Min Max Détail Min Max Détail
0 5 10 15 20 25
5 20 15 20 25 20
20 100 20 100 20 100
100 200 100 200 100 200
200 300 200 300 200 300
300 400 300 400 300 400
400 500 400 500 400 500
500 600 500 600 500 600
600 700 600 700 600 700

je souhaite créer une nouvelle feuille par Forme sachant qu'une forme est constituée d'une succession de rectangles dont les dimensions sont reprises dans la feuille 1.

ex : la forme 1 est composée de 9 rectangles superposés dont le premier a une épaisseur de 5, le second de 15 etc....

Si quelqu'un a un bout de code pour que je puisse me lancer, je suis preneur.

Par avance merci

SebRod
 

Pièces jointes

  • test objet.JPG
    test objet.JPG
    22.1 KB · Affichages: 584

Fred0o

XLDnaute Barbatruc
Re : Créer des formes géométriques à partir de données d'une feuille excel

Bonjour sebrod et bienvenue sur le forum.

On peut t'aider mais il faut que tu nous aide. Peux-tu préciser à quoi correspond Min, Max et Détail ? Car si j'ai bien compris c'est ce qui définit les rectangles et il nous faut : Gauche Droite Largeur Hauteur. Commen faire le lien entre les 2 ?

A+
 

sebrod

XLDnaute Nouveau
Re : Créer des formes géométriques à partir de données d'une feuille excel

Bonjour

pardonnez moi de ce manque de précision.

En fait la largeur des rectangles est invariable (ex : 2 cm);

En fait les rectangles que je souhaite dessiner correspondent à des terrains géologiques traversés par un forage et les min et max correspondent aux épaisseurs de chaque couche traversée.

ex pour la forme 1 (une forme = un sondage)
couche 1 : épaisseur : 5 cm (min = 0 max = 5)
couche 2 : épaisseur : 15 cm (min = 5 max = 20)

pour détail il s'agit d'un champs texte qui permet de décrire la formation géologique rencontrée.

merci de votre aide
 

mromain

XLDnaute Barbatruc
Re : Créer des formes géométriques à partir de données d'une feuille excel

Bonjour sebrod, et bienvenue sur le forum
Bonjour FredOo, le forum

Je pense que le mieux serait que tu postes un fichier (Excel) exemple avec ta feuille contenant les données (comme expliquées dans ton premier post) de 2 ou 3 rectangles ainsi que le résultat souhaité.
Ce sera plus facile de t'aider.

a+
 

mromain

XLDnaute Barbatruc
Re : Créer des formes géométriques à partir de données d'une feuille excel

rebonjour sebrod,


Voici un essai pour le premier objet :
Code:
Sub Test()
Dim feuilleDessin As Worksheet, haut As Double, gauche As Double, largeur As Double, i As Long, nouvForme As Shape

    'définir la feuille où on dessine les rectangles
    Set feuilleDessin = ThisWorkbook.Sheets("Feuil2")
    
    'définir la largeur des rectangles
    largeur = 75
    
    'définir le coin haut-gauche de l'ensemble des rectangles
    'ici, on le défini par rapport à la cellule D4
    haut = feuilleDessin.Range("B2").Top
    gauche = feuilleDessin.Range("B2").Left
    
    With ThisWorkbook.Sheets("Feuil1")
        'boucler sur chaque données de l'objet "Objet 1"
        For i = 6 To 14
            'ajouter le rectangle
            Set nouvForme = feuilleDessin.Shapes.AddShape(msoShapeRectangle, gauche, haut + .Range("A" & i).Value, largeur, .Range("B" & i).Value - .Range("A" & i).Value)
            'ajouter le texte dans la forme
            nouvForme.TextFrame.Characters.Text = .Range("C" & i).Value
            nouvForme.TextFrame.HorizontalAlignment = xlCenter
            nouvForme.TextFrame.VerticalAlignment = xlCenter
        Next i
    End With
End Sub

a+
 

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 882
Membres
103 981
dernier inscrit
vinsalcatraz