IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Macro pour créations d'objets à l'echelle [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Business Analyst
    Inscrit en
    Mars 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Business Analyst

    Informations forums :
    Inscription : Mars 2016
    Messages : 6
    Par défaut Macro pour créations d'objets à l'echelle
    Bonjour à tous,

    Tout d'abord un grand bravo a toute la communauté pour faire vivre ce forum, un vrai puits d'informations !

    J'aurais cependant besoin d'un petit coup de main pour la création d'une macro. Je cherche a créer d’après une liste de colis et leurs dimensions (2 colonnes, longueur et largeur), des rectangles symbolisant des palettes, a l’échelle 1 cm = 1 mm sur Excel et de pouvoir les mettres dans un autre shape symbolisant un camion ou palette ( et après c'est Tetris ^^). Le soucis est que la formule AddShape est en points et que si je multiplie ma variable avec un ratio 1cm=1pt, l'arrondi fais que je tombe jamais vraiment juste, pas facile pour justement être précis.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Sub creationPalette()
     
    'Déclaration des variables
    Dim num As String
    Dim lar As Integer
    Dim lon As Integer
    Dim i As Integer
     
     
    'Creation des palettes
     
    For i = Range("B6").Row To Range("B6").End(xlDown).Row
            lar = (Cells(i, 2).Value / 100) * 28.3464566929
            lon = (Cells(i, 3).Value / 100) * 28.3464566929
            num = Cells(i, 1).Value
     
           ActiveSheet.Shapes.AddShape(msoShapeRectangle, 630 + (10 * i), 25, lon, lar).Select
     
        'Bordures
            With Selection.ShapeRange.Line
                .Visible = msoTrue
                .Weight = 0.75
                .ForeColor.RGB = RGB(0, 0, 0)
                .Transparency = 0
            End With
     
        'Couleurs
            With Selection.ShapeRange.Fill
                .Visible = msoTrue
                .ForeColor.ObjectThemeColor = msoThemeColorAccent5
                .ForeColor.TintAndShade = 0
                .ForeColor.Brightness = 0
                .Transparency = 0
                .Solid
            End With
     
        'Numero des palettes
            Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Text = _
                num
     
        'Police
            With Selection.ShapeRange(1).TextFrame2.TextRange.Characters.ParagraphFormat
                .FirstLineIndent = 0
                .Alignment = msoAlignLeft
            End With
            With Selection.ShapeRange(1).TextFrame2.TextRange.Characters.Font
                .NameComplexScript = "+mn-cs"
                .NameFarEast = "+mn-ea"
                .Fill.Visible = msoTrue
                .Fill.ForeColor.ObjectThemeColor = msoThemeColorLight1
                .Fill.ForeColor.TintAndShade = 0
                .Fill.ForeColor.Brightness = 0
                .Fill.Transparency = 0
                .Fill.Solid
                .Size = 8
                .Name = "+mn-lt"
            End With
    Next i
     
    End Sub

    Auriez vous une idée ?

    Merci !

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ce n'est pas sur Excel qu'il faut faire cette macro mais sur AutoCAD.
    Les graphiques Excel ne se limitent qu'à des représentation très schématiques.

  3. #3
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Si j'ai bien compris, Excel vient de mettre en évidence des siècles de cotation fonctionnels!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par NathBlues Voir le message
    Le soucis est que la formule AddShape est en points et que si je multiplie ma variable avec un ratio 1cm=1pt, l'arrondi fais que je tombe jamais vraiment juste, pas facile pour justement être précis.
    Bonjour,

    Il vous faut passer vos variables lar et lon en type Double au lieu d'Integer.

    Cordialement.

  5. #5
    Membre du Club
    Homme Profil pro
    Business Analyst
    Inscrit en
    Mars 2016
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Business Analyst

    Informations forums :
    Inscription : Mars 2016
    Messages : 6
    Par défaut
    Parfait ! Merci a tous pour votre aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 05/09/2014, 09h52
  2. [XL-2007] Macro pour création de fichier selon critères
    Par ExcelLiod dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 06/01/2014, 11h17
  3. Réponses: 1
    Dernier message: 27/10/2012, 19h59
  4. Création d'une macro pour remplissage auto
    Par Laura-c dans le forum Macros et VBA Excel
    Réponses: 25
    Dernier message: 19/06/2008, 16h40
  5. Création d'un bouton avec macro pour impression rapide
    Par citrouilllle dans le forum VBA Word
    Réponses: 16
    Dernier message: 13/07/2007, 23h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo