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
À partir de la boîte à outils, faites glisser un contrôle Windows Forms vers une feuille de calcul.
Cliquez avec le bouton droit sur le contrôle et sélectionnez Format de contrôle.
Dans la boîte de dialogue Format de contrôle, cliquez sur l'onglet Propriétés.
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