Comment geler les volets avec VBA dans Excel (5 façons adaptées)

  • Partage Ça
Hugh West

Dans cet article, je vais vous montrer comment geler les volets d'une feuille de calcul Excel à l'aide de la fonction Visual Basic of Applications (VBA). Souvent, lorsque nous travaillons dans Excel, nous avons besoin de geler les volets de la feuille de calcul pour des raisons de commodité et pour une meilleure expérience. VBA .

Geler les volets avec VBA dans Excel (vue rapide)

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

Télécharger le cahier d'exercices

Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.

VBA Geler les volets.xlsm

Une introduction aux panneaux d'arrêt d'Excel

Dans Microsoft Excel, geler les volets signifie figer une ligne ou une colonne ou les deux de telle sorte que même si vous descendez ou allez à droite en faisant défiler la barre de défilement, cette ligne ou cette colonne sera toujours visible. Cela se fait normalement avec les lignes ou les colonnes qui contiennent les en-têtes de l'ensemble de données.

Par exemple, regardez l'ensemble de données ci-dessous. Ici, nous avons figé la feuille de calcul jusqu'à la ligne 3 ( Années ) et la colonne B ( Nom des produits ).

Lorsque nous descendrons dans la feuille de calcul en faisant défiler la barre de défilement, nous constaterons que les lignes jusqu'à la ligne 3 sont toujours visibles.

Idem pour la colonne B pendant qu'on défile à droite.

Maintenant, pour geler manuellement les volets d'une feuille de calcul, sélectionnez la cellule juste après la ligne et la colonne (Cellule C4 dans cet exemple) et allez à View> ; Freeze Panes> ; Freeze Panes dans la barre d'outils Excel.

Pour geler uniquement la rangée, sélectionnez la rangée entière et allez à View> ; Freeze Panes> ; Freeze Panes dans la barre d'outils Excel.

De même, pour geler uniquement la colonne, sélectionnez toute la colonne et allez à View> ; Freeze Panes> ; Freeze Panes dans la barre d'outils Excel.

⧭ Notes :

  • Sélectionnez Geler la rangée supérieure pour geler uniquement la ligne supérieure.
  • De même, sélectionnez Geler la première colonne pour geler uniquement la première colonne.

5 méthodes pour geler les volets avec VBA dans Excel

Nous avons appris ce qu'est le gel des volets dans Excel et comment l'accomplir manuellement. Maintenant, passons à notre discussion principale d'aujourd'hui, comment geler les volets avec VBA .

1. geler uniquement une ligne avec VBA dans Excel

Tout d'abord, voyons comment nous pouvons geler seulement une ligne avec VBA .

Comme nous l'avons vu précédemment, pour geler une seule ligne, vous devez d'abord sélectionner la ligne entière sous la ligne à geler (Row 4 dans cet exemple).

Ensuite, vous devez appliquer le Panneaux de congélation commandement.

Ainsi, le VBA Le code sera :

⧭ Code VBA :

 Sub Freeze_Panes_Only_Row() Range("C4").EntireRow.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Sortie :

Exécutez ce code. Vous trouverez la feuille de calcul active figée jusqu'à la ligne 3 .

⧭ Notes :

  • Ici, nous avons utilisé la cellule C4 pour sélectionner n'importe quelle cellule de la ligne 4 de la feuille de travail. Vous la sélectionnez en fonction de vos besoins.
  • La dernière ligne du code Range("C4").Select a pour but de désélectionner la ligne entière. 4 (Désélectionner une sélection signifie sélectionner une nouvelle sélection, car dans Excel, quelque chose doit rester sélectionné). Vous pouvez omettre cette ligne si vous le souhaitez.

Lire la suite : Comment figer la rangée supérieure dans Excel (4 méthodes simples)

2. geler uniquement une colonne avec VBA dans Excel

Nous avons vu comment nous pouvons geler une rangée avec VBA Voyons maintenant comment congeler une colonne avec la fonction VBA .

Comme pour la ligne, pour geler seulement une colonne, vous devez d'abord sélectionner toute la colonne jusqu'à la colonne à geler (Colonne C dans cet exemple).

Ensuite, vous devez appliquer le Panneaux de congélation commandement.

Ainsi, le VBA Le code sera :

⧭ Code VBA :

 Sub Freeze_Panes_Only_Column() Range("C4").EntireColumn.Select ActiveWindow.FreezePanes = True Range("C4").Select End Sub 

⧭ Sortie :

Exécutez ce code. Vous trouverez la feuille de calcul active figée jusqu'à la colonne C .

⧭ Notes :

  • Ici, nous avons utilisé la cellule C4 pour sélectionner n'importe quelle cellule de la colonne C de la feuille de travail. Vous la sélectionnez en fonction de vos besoins.
  • La dernière ligne du code Range("C4").Select a pour but de désélectionner la colonne entière C (Désélectionner une sélection signifie sélectionner une nouvelle sélection, car dans Excel, quelque chose doit rester sélectionné). Vous pouvez omettre cette ligne si vous le souhaitez.

Lire la suite : Comment figer 2 colonnes dans Excel (5 méthodes)

3. geler à la fois une ligne et une colonne avec VBA dans Excel

Nous avons vu comment geler une ligne et une colonne séparément, mais cette fois-ci, nous allons voir comment geler la ligne et la colonne ensemble.

Pour geler à la fois la ligne et la colonne, vous devez sélectionner une cellule en dessous de la ligne à geler et à droite de la colonne à geler (Cellule C4 dans cet exemple).

Ensuite, vous devez appliquer le Panneaux de congélation commandement.

Ainsi, le VBA Le code sera :

⧭ Code VBA :

 Sub Freeze_Panes_Row_and_Column() Range("C4").Select ActiveWindow.FreezePanes = True End Sub 

⧭ Sortie :

Exécutez ce code. Vous trouverez la feuille de calcul active figée jusqu'à la ligne 3 et colonne C .

⧭ Notes :

  • Ici, nous avons utilisé la cellule C4 pour sélectionner une cellule sous la ligne 3 et de droite à la colonne B C'est une cellule C4 Vous le sélectionnez en fonction de vos besoins.

Lire la suite : Comment figer les volets sélectionnés dans Excel (10 façons)

Lectures similaires :

  • Comment figer plusieurs volets dans Excel (4 critères)
  • Raccourci clavier pour figer les volets dans Excel (3 raccourcis)
  • Comment figer les 3 premières colonnes dans Excel (4 façons rapides)

4. développer un formulaire utilisateur pour geler les volets avec VBA dans Excel

Nous avons vu comment nous pouvons geler une ligne ou une colonne ou à la fois la ligne et la colonne avec VBA dans une feuille de calcul Excel.

Nous allons maintenant développer un formulaire utilisateur pour regrouper toutes les tâches distinctes dans une seule interface.

⧭ Procédure étape par étape pour développer le formulaire utilisateur :

⧪ Étape 1 :

  • Appuyez sur ALT+F11 sur votre clavier pour ouvrir le Visual Basic
  • Dans le Visual Basic éditeur, allez à Insérer> ; Formulaire utilisateur pour insérer un nouveau Formulaire utilisateur .

⧪ Étape 2 :

  • Une nouvelle Formulaire utilisateur appelé Formulaire d'utilisateur 1 sera créé dans le VBA
  • A gauche de la Formulaire utilisateur vous obtiendrez un Boîte à outils appelé Contrôle Passez votre souris sur la boîte à outils et recherchez un élément de la liste. TextBox (TextBox1) Après en avoir trouvé un, faites-le glisser sur le haut de l'écran. Formulaire utilisateur .
  • De même, faites glisser un ListBox ( ListBox1 ) jusqu'à la Zone de texte et un Bouton de commande (Commandbutton1) dans le coin inférieur droit de l'écran Formulaire utilisateur Modifier l'affichage de la Bouton de commande à OK . votre Formulaire utilisateur devrait maintenant ressembler à ceci :

⧪ Étape 3 :

Insérer un Module ( Insérer> ; Module ) de la VBA boîte à outils

⧪ Étape 4 :

Insérer le texte suivant VBA dans le Module .

 Sub Run_UserForm() UserForm1.Caption = "Freeze Panes" UserForm1.TextBox1.Text = Selection.Address UserForm1.TextBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.BorderStyle = fmBorderStyleSingle UserForm1.ListBox1.ListStyle = fmListStyleOption UserForm1.ListBox1.AddItem "1. Freeze Row" UserForm1.ListBox1.AddItem "2. Freeze Column" UserForm1.ListBox1.AddItem "3. Freeze Both Row and Column"Load UserForm1 UserForm1.Show End Sub 

⧪ Étape 5 :

Double-cliquez sur le Bouton de commande affiché comme OK Un sous-système privé appelé CommandButton1_Click s'ouvrira. Insérez-y le code suivant :

 If UserForm1.ListBox1.Selected(0) = True Then Set Rng = Selection Rng.EntireRow.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(1) = True Then Set Rng = Selection Rng.EntireColumn.Select ActiveWindow.FreezePanes = True Rng.Select ElseIf UserForm1.ListBox1.Selected(2) = True ThenActiveWindow.FreezePanes = True Else MsgBox "Select At Least One. ", vbExclamation End If Unload UserForm1 

⧪ Étape 6 :

De même, double-cliquez sur le TextBox1 Un sous-système privé appelé TextBox1_Change s'ouvrira. Insérez-y le code suivant.

 Private Sub TextBox1_Change() On Error GoTo Message Range(TextBox1.Text).Select Message : Note = 5 End Sub 

⧪ Étape 7 :

Votre Formulaire utilisateur Sélectionnez la cellule située en dessous de la ligne à geler et à droite de la colonne à geler (Cellule C4 ici), et exécutez le Macro appelé Exécuter_Formulaire d'utilisateur .

⧪ Étape 8 :

  • Le site Formulaire utilisateur sera chargé. Vous trouverez l'adresse de la cellule sélectionnée ( C4 ) dans le TextBox Si vous voulez, vous pouvez changer cela.
  • Ensuite, sélectionnez l'une des trois options disponibles dans le menu déroulant. ListBox Ici je veux geler à la fois la ligne et la colonne, donc j'ai sélectionné Geler à la fois la ligne et la colonne .
  • Cliquez ensuite sur OK .

⧪ Étape 9 :

Vous trouverez la feuille de travail figée selon votre désir (ici figée jusqu'à la ligne). 3 et colonne B ).

Contenu connexe : Comment faire un arrêt sur image dans Excel (6 astuces rapides)

5. Alternative aux volets d'arrêt sur image dans Excel : fractionner la fenêtre avec VBA

Nous avons beaucoup parlé de la geler les vitres dans Excel. Voyons à présent une alternative très utile à l'outil d'évaluation de l'efficacité énergétique. geler les vitres dans Excel, le Fenêtre divisée commandement.

Vous pouvez ActiveWindow.SplitRow ou ActiveWindow.SplitColumn sur VBA pour diviser la feuille de travail en lignes ou en colonnes.

Par exemple, pour diviser la feuille de calcul à partir de la ligne 3 utiliser :

 ActiveWindow.SplitRow = 3 

De même, pour diviser la feuille de calcul à partir de la colonne B utiliser :

 ActiveWindow.SplitColumn = 2 

⧭ Code VBA :

 Sub Split_Window() ActiveWindow.SplitRow = 3 ActiveWindow.SplitColumn = 2 End Sub 

⧭ Sortie :

Exécutez le code, il va diviser la feuille de calcul active de la ligne 3 et colonne B .

Contenu connexe : Comment appliquer des volets de gel personnalisés dans Excel (3 façons simples)

Les choses à retenir

  • Avant d'appliquer Panneaux de congélation dans Excel, vous devez Décongeler tous les panneaux de congélation. Sinon, la Panneaux de congélation ne fonctionnera pas.
  • Le site Panneaux de congélation ne fonctionnera pas par le biais de la commande fusionné cellules. Donc démêler avant d'appliquer le Panneaux de congélation s'il y en a un.

Conclusion

Voici donc les méthodes à utiliser Panneaux de congélation avec VBA J'ai essayé de discuter de toutes les façons possibles d'appliquer les règles de l'UE. Panneaux de congélation sur une feuille de calcul dans Excel. Vous avez des questions ? N'hésitez pas à nous les poser. Et n'oubliez pas de visiter notre site ExcelWIKI pour plus d'articles et de mises à jour.

Hugh West est un formateur et analyste Excel très expérimenté avec plus de 10 ans d'expérience dans l'industrie. Il est titulaire d'un baccalauréat en comptabilité et finance et d'une maîtrise en administration des affaires. Hugh a une passion pour l'enseignement et a développé une approche pédagogique unique qui est facile à suivre et à comprendre. Sa connaissance approfondie d'Excel a aidé des milliers d'étudiants et de professionnels du monde entier à améliorer leurs compétences et à exceller dans leur carrière. Grâce à son blog, Hugh partage ses connaissances avec le monde, offrant des tutoriels Excel gratuits et une formation en ligne pour aider les particuliers et les entreprises à atteindre leur plein potentiel.