Comment faire flotter en permanence un bouton de commande sur une feuille Excel ?
Lorsque vous travaillez avec de grandes feuilles Excel nécessitant une navigation fréquente, il peut s’avérer utile que certains contrôles – tels qu’un bouton de commande (contrôles ActiveX) – restent toujours visibles afin d’améliorer l’efficacité de votre flux de travail. Par exemple, vous souhaiterez peut-être qu’un bouton « Envoyer », « Actualiser » ou « Mettre à jour » reste en haut de votre vue, afin d’y accéder facilement quelle que soit la distance de défilement dans la feuille. Par défaut, les boutons de commande sont ancrés aux cellules où ils sont placés et disparaissent de la vue lors du défilement, ce qui peut perturber votre rythme de travail. Cette situation est particulièrement gênante dans les tableaux de bord interactifs ou les formulaires où un accès immédiat aux boutons de contrôle est nécessaire.
Ce tutoriel vous présente une méthode pratique pour faire flotter en permanence un bouton de commande ActiveX et le maintenir toujours visible sur votre feuille de calcul, même pendant la navigation dans les données. Vous serez guidé pas à pas dans l’implémentation d’un code VBA simple pour obtenir cet effet. Idéale pour les scénarios exigeant un bouton d’action fixe, cette solution permet d’exécuter facilement des tâches répétitives, d’envoyer des formulaires, d’interagir avec un tableau de bord ou de naviguer efficacement au sein de feuilles volumineuses.
Faire flotter en permanence un bouton de commande sur une feuille de calcul à l’aide d’un code VBA
Faire flotter en permanence un bouton de commande sur une feuille de calcul à l’aide d’un code VBA
Pour faire flotter en permanence un bouton de commande ActiveX sur votre feuille de calcul — afin qu’il reste toujours visible, quel que soit votre défilement — suivez les étapes ci-dessous. Cette méthode exploite VBA pour repositionner dynamiquement le bouton à mesure que vous naviguez dans la feuille. Elle s’avère particulièrement efficace lorsque l’accès immédiat à ce contrôle est essentiel pour l’utilisabilité et le flux de travail. Veuillez noter toutefois qu’elle ne s’applique qu’aux boutons de commande ActiveX, et non aux boutons de contrôle de formulaire.
1. Dans la feuille contenant le bouton de commande ActiveX que vous souhaitez maintenir flottant, cliquez avec le bouton droit sur l’onglet de la feuille (situé en bas de la fenêtre Excel), puis sélectionnez Afficher le code dans le menu contextuel. Cette action ouvre la fenêtre de code spécifique à cette feuille.

2. Dans la fenêtre Microsoft Visual Basic pour Applications qui s’ouvre, copiez et collez le code VBA ci-dessous dans la grande zone de code (fenêtre de code) située à droite. Ce script positionnera en permanence votre bouton de commande à un emplacement précis par rapport à la plage visible de la feuille — généralement en haut et centré — même pendant le défilement.
Code VBA : faire flotter en permanence un bouton de commande sur une feuille de calcul
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
On Error GoTo 0
With Cells(Windows(1).ScrollRow, Windows(1).ScrollColumn)
CommandButton1.Top = .Top + 100
CommandButton1.Left = .Left + 300
End With
End Sub Remarque : Dans le code ci-dessus, CommandButton1 doit être remplacé par le nom réel du bouton de commande que vous souhaitez maintenir visible. Pour vérifier ou modifier ce nom, sélectionnez le bouton en mode Conception, puis consultez ou modifiez sa propriété (Nom) dans la fenêtre Propriétés.
3. Une fois le code collé, appuyez simultanément sur les touches Alt + Q pour fermer la fenêtre Microsoft Visual Basic pour Applications et revenir à votre feuille de calcul.
Désormais, à chaque fois que vous ferez défiler ou sélectionnerez Cellules différentes, le bouton de commande se repositionnera intelligemment, restant toujours visible en haut centré de la zone visible de la feuille. Voici un exemple illustrant cet effet, où le bouton de commande reste accessible même pendant la navigation dans les données :

Points clés et conseils :
- Cette méthode ne s’applique qu’aux boutons de commande ActiveX et non aux boutons de contrôle de formulaire.
- Si vous utilisez plusieurs boutons flottants ou des positions personnalisées, adaptez le code en conséquence pour chacun d’eux.
- Le code VBA est spécifique à la feuille de calcul. Si vous souhaitez appliquer cet effet sur plusieurs feuilles, répétez ces étapes pour chacune d’elles.
Simuler un bouton flottant à l’aide de la fonctionnalité « Figer les volets » d’Excel
Si vous préférez ne pas utiliser de code VBA, vous pouvez simuler l’effet d’un bouton de commande flottant grâce à la fonctionnalité intégrée d’Excel Figer les volets. Bien que cette méthode n’offre pas un comportement véritablement flottant, elle garantit qu’un bouton placé au-dessus des volets figés reste constamment visible pendant que vous faites défiler les données situées en dessous. Cette astuce est particulièrement utile pour les tableaux de bord ou lorsqu’un petit ensemble de contrôles est utilisé dans la zone d’en-tête.
- Avantages : Aucune macro requise, plus stable et compatible avec la plupart des environnements Excel, y compris ceux où les macros sont restreintes.
Pour utiliser cette méthode, procédez comme suit :
- Insérez votre bouton de commande (contrôle de formulaire ou contrôle ActiveX) dans une ligne située en haut de la feuille de calcul, par exemple la ligne 1 ou 2.
- Sélectionnez la première cellule située sous les lignes d’en-tête que vous souhaitez maintenir visibles (par exemple, la cellule A2 pour figer la ligne 1).
- Accédez à l’onglet Affichage, puis cliquez sur Figer les volets > Figer les volets. Vos boutons et lignes d’en-tête restent désormais visibles lorsque vous faites défiler la feuille vers le bas.
Bien que cela ne reproduise pas un comportement véritablement flottant, il s’agit d’une alternative pratique et non programmatique si vos besoins sont simples et que l’utilisation de macros est restreinte.
Articles associés:
- Comment sauvegarder et fermer le classeur actuel sans aucune invite, à l’aide d’un bouton de commande dans Excel ?
- Comment mettre à jour ou insérer automatiquement la date et l’heure actuelles à l’aide d’un bouton de commande dans Excel ?
- Comment utiliser un bouton de commande pour modifier la valeur d’une cellule précise dans Excel ?
- Comment créer un bouton de commande pour copier et coller des données dans Excel ?
- Comment utiliser un bouton de commande pour enregistrer la feuille active sous forme de Fichiers PDF dans Excel ?
- Comment insérer automatiquement une nouvelle ligne vide à l’aide d’un bouton de commande dans Excel ?
Meilleurs outils de productivité Office
Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile
- Activez l’édition et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de 50 % et vous fait économiser des centaines de clics de souris chaque jour !
Tous les compléments Kutools. Un seul installateur
Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.
- Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
- Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
- Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
- Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
- Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels