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 :

Taille des shape par rapport à columswidth [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    retraité développement loisirs
    Inscrit en
    Janvier 2012
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité développement loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 147
    Par défaut Taille des shape par rapport à columswidth
    bonjour, je ne comprend pas pourquoi mes cercles se déplacent et se déforment quand je change la largeur des colonnes... (mes cercles deviennent ovales dans un sens ou l'autre si je modifie la largeur de colonne quel est le rapport ?
    merci
    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
     
    Private Sub UserForm_Click()
    Sheets("Feuil1").Activate
        Cells.ColumnWidth = 5 ' quand j'augmente ou diminue, j'ai mes cercles qui s'ovalisent
     
    Cercle
    End Sub
     
     
    Sub Cercle()
    Dim shp As Shape
    Dim Xo As Integer, Yo As Integer, R As Integer
     
    Xo = 100: Yo = 100: R = 40
    Set shp = ActiveSheet.Shapes.AddShape(9, Xo, Yo, R, R) ' c'est là ou je ne comprend pas ! 
    End Sub
    merci beaucoup pour votre aide

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Ce problème vient de la propriété que tu donnes à l'objet Shape.
    Si tu dessines manuellement une forme sur une feuille ou si tu augmentes la largeur d'une colonne où se trouve une forme, tu auras le même phénomène.
    Fais un clic droit sur la forme et clique sur Propriété. Tu constateras que tu as trois options.
    1. Déplacer et dimensionner avec les cellules (C'est l'option par défaut, celle qui provoque la modification de la propriété largeur de la forme)
    2. Déplacer sans dimensionner avec les cellules
    3. Ne pas déplacer ni dimensionner avec les cellules

    Suivant ce qui te convient, tu choisiras la deuxième ou troisième option.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Membre confirmé
    Homme Profil pro
    retraité développement loisirs
    Inscrit en
    Janvier 2012
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité développement loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 147
    Par défaut
    merci Philippe,
    oui tu as raison, c'est bien cela, mais comment le résoudre directement dans les paramètres de Shape dans le code VBA ? intervenir sur le dessin après coup c'est trop tard pour moi !
    merci encore

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    oui tu as raison, c'est bien cela, mais comment le résoudre directement dans les paramètres de Shape dans le code VBA ? intervenir sur le dessin après coup c'est trop tard pour moi !
    Et bien très sincèrement, jusqu'au moment d'utiliser l'enregistreur de macros, je n'en savais rien non plus.
    J'ai enclenché l'enregistreur de macros, j'ai inséré comme dessin une ellipse et comme propriété, j'ai sélectionné la troisième option Ne pas déplacer ni dimensionner avec les cellules et voilà le code que j'ai obtenu.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveSheet.Shapes.AddShape(msoShapeOval, 383.25, 73.5, 56.25, 43.5).Select
    Selection.Placement = xlFreeFloating
    J'en déduis que la propriété qui gère les trois options que j'ai évoqué c'est Placement et la valeur à lui passer pour la troisième option est la constante xlFreeFloating

    Le meilleur amis du programmeur de VBA, c'est l'enregistreur de macros
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Membre confirmé
    Homme Profil pro
    retraité développement loisirs
    Inscrit en
    Janvier 2012
    Messages
    147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : retraité développement loisirs

    Informations forums :
    Inscription : Janvier 2012
    Messages : 147
    Par défaut
    merci encore Philippe,
    encore une fois tu as raison !
    je ne suis pas habitué à la prog en vba et je n'ai pas encore l'automatisme du test en éditeur de macro, je vais faire comme ça dorénavant avant de demander.
    ça marche impeccable maintenant
    merci
    je marque "résolu" et je vote sur tes post

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 176
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Merci pour ton retour et pour le vote. Cela fait toujours plaisir.
    L'avantage de l'enregistreur de macros même si l'on maîtrise le VBA, c'est de nous rappeler la méthode d'un objet et la propriété à employer.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 19/08/2013, 09h30
  2. Réponses: 1
    Dernier message: 22/02/2012, 17h32
  3. Réponses: 9
    Dernier message: 04/01/2007, 11h58
  4. taille du menu par rapport au corps du site
    Par kykyn dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 25/07/2005, 19h42
  5. [débutant]Desactiver des champs par rapport a un select
    Par Pymm dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 16/02/2005, 16h24

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