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 :

Créer un bouton sans changement de position si insertion de ligne


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Créer un bouton sans changement de position si insertion de ligne
    Bonjour à tous,

    Je crée dans l'instruction creationBouton un bouton en position 0, 0 (en haut à gauche). Jusque là tout va bien.
    Toutefois, à la suite du traitement une instruction ajoute une ligne en début de tableau, ce qui décale le bouton qui se retrouve en haut + 1 ligne à gauche.
    Je souhaite que la position initiale du bouton ne change pas lors de l'insertion de cette ligne.
    Le traitement étant générique à plusieurs mises en forme (désignée par la suite MEF) différentes de fichier, le seul endroit où je peux insérer l'exécution de l'instruction creationBouton est en amont de l'instruction ajoutant cette satanée ligne.

    Grossièrement, le déroulement du module de MEF est le suivant :
    Choix du type de MEF (traitement générique à toutes les MEF)
    Traitement de MEF du fichier X (traitement spécifique à la MEF du fichier X, il n'y a que dans ce cas que je souhaite insérer le bouton)
    Configuration de l'impression (traitement générique - c'est à ce niveau qu'est insérée la 1ère ligne)

    L'instruction correspondant à la création du bouton est :
    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
     
    Public Sub creationBouton()
        Worksheets("Anos").Select
     
    'ajoute le bouton Historiser
        'Ajout CommandButton dans la feuille
        Set Obj = ActiveSheet.OLEObjects.Add("Forms.CommandButton.1")
        With Obj
            .Left = 0 'position horizontale
            .Top = 0 'position verticale
            .Width = 96 'largeur
            .Height = 17 'hauteur
            .Object.BackColor = RGB(235, 235, 200) 'Couleur de fond
            .Object.Caption = "Historiser"
        End With
    End Sub
    Auriez-vous une idée pour que mon bouton reste en position 0, 0 même lors de l'insertion d'une ligne?

    Merci d'avance de vos réponses.
    Cordialement,
    asayeh

  2. #2
    Membre confirmé
    Inscrit en
    Janvier 2008
    Messages
    467
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 467
    Points : 493
    Points
    493
    Par défaut
    Bonjour asayeh
    ajoute cette ligne de code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Placement = xlFreeFloating
    Bonne journée

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 3
    Points : 3
    Points
    3
    Par défaut Trouvé
    Bonjour,

    En effet, j'en suis arrivé à la même conclusion et l'essai est concluant.
    En utilisant l'enregistreur, je n'avais pas les propriétés du bouton mais du texte (je visais mal avec la souris), je ne trouvais donc pas la propriété permettant de "ne pas déplacer ou dimensionner avec les cellules" (lors du clique droit dans "Format de contrôle..."
    C'est maintenant chose faite.

    Merci Abed_H pour ta réponse.

    Le nouveau code est donc :
    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
     
    Public Sub creationBouton()
        Worksheets("Anos").Select
     
    'ajoute le bouton Historiser
        'Ajout CommandButton dans la feuille
        Set Obj = ActiveSheet.OLEObjects.Add("Forms.CommandButton.1")
        With Obj
            .Left = 0 'position horizontale
            .Top = 0 'position verticale
            .Width = 96 'largeur
            .Height = 17 'hauteur
            .Object.BackColor = RGB(235, 235, 200) 'Couleur de fond
            .Object.Caption = "Historiser"
            .Placement = xlFreeFloating  ' ne déplace pas le bouton
            .PrintObject = False            ' n'imprime pas le bouton lors de l'impression - pratique dans mon cas
        End With
    End Sub

    Problème résolu.

    Merci.

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

Discussions similaires

  1. [AJAX] Changement de boutons sans actualisation de la page
    Par xnadyx dans le forum jQuery
    Réponses: 3
    Dernier message: 09/07/2014, 14h41
  2. [Article] Créer des boutons avec icônes sans utiliser d'images
    Par FirePrawn dans le forum Publications (X)HTML et CSS
    Réponses: 9
    Dernier message: 07/09/2012, 16h37
  3. [CSS 3] Créer des boutons avec icônes sans utiliser d'images
    Par FirePrawn dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 07/09/2012, 16h37
  4. [XL-2003] Créer un bouton filtre sans doublon avec cellule protégée
    Par sevy1 dans le forum Excel
    Réponses: 12
    Dernier message: 11/01/2012, 19h34

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