Partager via


Comment : redimensionner des contrôles dans des cellules de feuille de calcul

Lorsque vous redimensionnez des colonnes ou des lignes dans une feuille de calcul, tous les contrôles hôtes contenus dans les cellules sont automatiquement redimensionnés par rapport à la hauteur ou la largeur de la cellule qui a été redimensionnée.Par défaut, les contrôles Windows Forms ne sont pas redimensionnés automatiquement.

S'applique à : Les informations contenues dans cette rubrique s'appliquent aux projets de niveau document pour Excel 2013 et Excel 2010. Pour en savoir plus, consultez Fonctionnalités disponibles par type d'application et de projet Office.

Si vous ajoutez les contrôles au moment du design, vous devez définir des options de positionnement pour chaque contrôle.

Si vous ajoutez un contrôle Windows Forms par programmation et que vous fournissez un argument de plage, le contrôle est automatiquement redimensionné lorsqu'une cellule dans la plage est redimensionnée.Pour plus d’informations, consultez Ajout de contrôles à des documents Office au moment de l'exécution.

Redimensionnement des contrôles au moment du design

Pour que les contrôles soient redimensionnés en même temps que les cellules au moment du design

  1. À partir de la boîte à outils, faites glisser un contrôle Windows Forms vers une feuille de calcul.

  2. Cliquez avec le bouton droit sur le contrôle et sélectionnez Format de contrôle.

  3. Dans la boîte de dialogue Format de contrôle, cliquez sur l'onglet Propriétés.

  4. Sous Positionnement de l'objet, sélectionnez l'option Déplacer et dimensionner avec les cellules et cliquez sur OK.

    Lorsque vous redimensionnez la cellule qui contient le contrôle, le contrôle est redimensionné par rapport à la cellule.

Redimensionnement des contrôles au moment de l'exécution

Si vous ajoutez un contrôle Windows Forms au moment de l'exécution et passez une Microsoft.Office.Interop.Excel.Range comme emplacement pour le contrôle, le contrôle sera automatiquement redimensionné en même temps que la cellule de la feuille de calcul qui le contient.

Pour que les contrôles soient redimensionnés en même temps que les cellules au moment de l'exécution

  • Ajoutez un contrôle à la plage A1.

    Dim control1 As Microsoft.Office.Tools.Excel.Controls.Button = _
        Me.Controls.AddButton(Me.Range("A1"), "control1")
    
    Microsoft.Office.Tools.Excel.Controls.Button control1 =
        this.Controls.AddButton(this.Range["A1"], "control1");
    

    Lorsque vous redimensionnez la cellule qui contient le contrôle, le contrôle est redimensionné par rapport à la cellule.

Réinitialisation du positionnement du contrôle

Pour réinitialiser le positionnement et le redimensionnement du contrôle, affectez à la propriété Placement l'une des valeurs XlPlacement suivantes :

Pour modifier le comportement d'un contrôle afin qu'il ne soit pas redimensionné ou déplacé avec la cellule

  • Appelez la propriété de positionnement du contrôle et affectez-lui la valeur xlFreeFloating.

    control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating
    
    control1.Placement = Microsoft.Office.Interop.Excel.XlPlacement.xlFreeFloating;
    

Voir aussi

Tâches

Comment : ajouter des contrôles Windows Forms à des documents Office

Comment : masquer des contrôles sur des feuilles de calcul lors de l'impression

Concepts

Ajout de contrôles à des documents Office au moment de l'exécution

Limitations des contrôles Windows Forms dans les documents Office

Autres ressources

Contrôles sur des documents Office