Problème sur les boutons de macro

Résolu
Bonjour,

J'ai un fichier Excel contenant des macro. Sur la première feuille se trouve trois boutons pour activer celles-ci.

Le problème est que lorsque j'ouvre le fichier, les boutons se redimensionnent, changent de place aléatoirement et le fait de devoir les chercher et redimensionner à chaque fois est très...agaçant.

Sauriez-vous d'où peut venir le problème ?

Merci

5 réponses

  1. Bonjour,

    - Mets-toi en "Mode Création" (onglet Développeur).
    - Clic droit sur ton bouton de commande.
    - Format de contrôle -> onglet Propriétés
    - Sélectionne "Ne pas déplacer ou dimensionner avec les cellules"
    - OK

    Fais ça pour tes trois boutons de commande.

    En espérant que cela fonctionne.

    Dolgan
    0
    1. Non j'ai déjà essayé :s
      0
      1. Modérateur
        Bonjour,

        Dans l'événement Workbook_Open() dimensionne et place tes Boutons de commande ou tu les souhaites...
        0
        1. Effectivement, ça semble être une solution.
          0
      2. Oui ça marche, merci :) Bon je comprend toujours pas pourquoi ces boutons se sont mis à bouger tout seul mais il faut bien qu'il reste une part de mystère comme on dit.
        0
        1. Modérateur
          Pour info et pour d'éventuels internautes ayant le même souci, quel est le code que tu as utilisé?
          0
      3. Voici le code utilisé :


        Private Sub Workbook_Open()

        ActiveSheet.Shapes.Range(Array("Button 4", "Button 5", "Button 3")).Select
        Selection.ShapeRange.Height = 42.5196850394
        Selection.ShapeRange.Width = 113.3858267717
        Application.CommandBars("Format Object").Visible = False

        With Selection.Characters(Start:=1, Length:=23).Font
        .Name = "Calibri"
        .FontStyle = "Normal"
        .Size = 11
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = 1
        End With
        Selection.ShapeRange.Align msoAlignLefts, msoFalse
        Selection.ShapeRange.Distribute msoDistributeVertically, msoFalse
        Selection.ShapeRange.LockAspectRatio = msoTrue
        Range("A1").Select

        End Sub

        0
        1. Modérateur
          Merci.
          A+
          0