Table des matières
Si vous travaillez avec Microsoft Excel depuis un certain temps, vous connaissez l'importance de l'AutoFill. Pour copier une formule sur une ligne ou une colonne, nous utilisons cette méthode. Maintenant, nous pouvons l'utiliser manuellement avec la souris. Mais, si vous avez une grande ligne avec des données, il sera difficile de copier une formule sur la dernière ligne ou colonne. Vous pouvez utiliser le code VBA pour AutoFill une formule à la dernière ligne ou colonne avecla facilité.
Dans ce tutoriel, vous apprendrez à remplir automatiquement une formule à la dernière ligne d'Excel à l'aide de codes VBA. Ce tutoriel sera ponctué d'exemples et d'illustrations appropriés. Restez donc avec nous.
Télécharger le cahier d'exercices
Formule de remplissage automatique de la dernière rangée.xlsm
Qu'est-ce que le remplissage automatique dans Excel ?
Le remplissage automatique est une fonction intégrée de Microsoft Excel qui permet aux utilisateurs de remplir automatiquement le reste des lignes ou des colonnes avec des valeurs, des formats ou des formules. Vous pouvez l'identifier lorsque vous placez le curseur dans le coin inférieur droit d'une cellule. Nous l'appelons le gestionnaire de remplissage automatique d'Excel.
Jetez un coup d'œil à la capture d'écran suivante :
Ici, vous pouvez voir deux chiffres. Nous allons remplir le reste des lignes en utilisant le remplissage automatique d'Excel.
Tout d'abord, sélectionnez la plage de cellules B5:B6. Ensuite, vous verrez la poignée de remplissage automatique dans le coin inférieur droit.
Maintenant, faites glisser cette poignée de remplissage automatique vers le bas.
Comme vous pouvez le constater, Excel a automatiquement rempli le reste des cellules. C'est l'utilisation de base du remplissage automatique dans Excel.
Comment utiliser AutoFill avec Excel VBA
Si vous avez un grand nombre de lignes ou de colonnes dans une plage donnée, vous devez faire glisser la poignée de remplissage automatique jusqu'à la dernière ligne ou colonne. C'est un processus très fastidieux. Heureusement, vous pouvez le minimiser en utilisant les codes VBA dans Excel. Vous pouvez utiliser le code VBA pour remplir automatiquement les cellules avec des valeurs, des formules ou des formats.
La syntaxe générique :
Range.AutoFill Destination, Type
Ici,
Range("B5") : La cellule qui présente le motif principal pour remplir le reste de la série.
Destination : Plage de cellules où vous voulez remplir avec la série de modèles.
Type comme xlAutoFillType : Le type de remplissage de la série. Il existe plusieurs types de remplissage automatique que vous pouvez choisir.
Lire la suite : Comment utiliser VBA AutoFill dans Excel ?
4 types de remplissage automatique dans Excel VBA
Dans cette section, j'aborderai certains types de remplissage automatique. Nous avons déjà vu que nous pouvons choisir n'importe quel type de remplissage automatique à l'aide de l'attribut xlAutoFillType. Je vous en montre ici quelques exemples.
1. xlFillDefault
Nous avons déjà vu ce type de remplissage automatique dans l'exemple précédent.
Jetez un coup d'œil à la capture d'écran :
Tapez le code VBA suivant pour remplir automatiquement le reste des cellules :
Sub xlDefault_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillDefault End Sub
Maintenant, exécutez la macro VBA et après cela, vous verrez ce qui suit :
Il remplit automatiquement le reste des cellules à l'aide d'une macro VBA.
2. xlFillCopy
Pour copier les mêmes valeurs, vous pouvez utiliser le type xlFillCopy dans le type de remplissage automatique.
Jetez un coup d'œil à la capture d'écran :
Tapez le code VBA suivant pour remplir automatiquement le reste des cellules :
Sub xlFillCopy_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillCopy End Sub
Maintenant, exécutez la macro VBA et après cela, vous verrez ce qui suit :
Excel remplit le reste des cellules avec le même modèle de valeurs.
3. xlFillMonths
Vous pouvez également remplir les mois en utilisant le xlFillMonths type de remplissage automatique.
Jetez un coup d'œil à la capture d'écran :
Ici, nous avons saisi deux mois : janvier et février.
Tapez le code VBA suivant pour remplir automatiquement le reste des cellules :
Sub xlFillMonths_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillMonths End Sub
Maintenant, exécutez la macro VBA et après cela, vous verrez ce qui suit :
Excel comprend automatiquement les modèles et les remplit.
4. xlFillFormats
Vous pouvez également copier des formats dans d'autres cellules à l'aide de la fonction de remplissage automatique de VBA. xlFillFormats type de remplissage automatique.
Jetez un coup d'œil à la capture d'écran :
Ici, nous avons rempli les deux cellules avec des couleurs.
Maintenant, tapez le code VBA suivant pour remplir automatiquement le reste des cellules :
Sub xlFillFormats_type() Range("B5:B6").AutoFill Destination:=Range("B5:B11"), Type:=xlFillFormats End Sub
Maintenant, exécutez la macro VBA et après cela, vous verrez ce qui suit :
Comme vous pouvez le constater, notre macro VBA utilise le remplissage automatique pour remplir efficacement les lignes de la colonne B.
Lire la suite : Comment remplir automatiquement les mois dans Excel
5 exemples de formule de remplissage automatique de la dernière ligne en Excel VBA
1. VBA pour remplir automatiquement une formule à la dernière rangée utilisée
De même, vous pouvez remplir automatiquement une formule en utilisant le VBA. Si vous avez lu les sections précédentes, vous pouvez facilement effectuer cette opération. Le problème se pose lorsque vous devez remplir automatiquement la formule jusqu'à la dernière ligne. Vous devez d'abord identifier la dernière ligne utilisée. Ensuite, le code VBA les remplira automatiquement.
Jetez un coup d'œil à l'ensemble de données suivant :
Nous avons ici un ensemble de données sur les ventes de certains vendeurs. Notre objectif est d'ajouter les ventes de janvier et février à la colonne Total. Ensuite, nous utiliserons la méthode de remplissage automatique en utilisant le VBA pour la dernière ligne utilisée dans Excel.
Pour l'exécuter, tapez le code suivant :
Sub last_used_row() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E" & ; last_row) End Sub
last_row = Cells(Rows.Count, 2).End(xlUp).Row : Elle renvoie la dernière ligne utilisée de la colonne B. Vous pouvez choisir n'importe quelle colonne de votre ensemble de données.
Range("E5").Formula = "=SUM(C5:D5)" : Nous ajoutons les ventes de Cellule C5 et D5.
Range("E5").AutoFill Destination:=Range("E5:E" & ; last_row) : Après avoir obtenu le résultat, nous utilisons la fonction de remplissage automatique, qui commence à remplir automatiquement les champs suivants Cellule E5 à la dernière ligne utilisée que nous avons obtenue précédemment.
Exécutez ensuite la macro VBA et vous obtiendrez le résultat suivant :
Comme vous pouvez le voir, notre code VBA ajoute le premier résultat et le remplissage automatique de la formule à la dernière ligne d'Excel.
Lire la suite : Comment remplir la dernière rangée avec des données dans Excel ?
2. VBA AutoFill de ActiveCell à la dernière ligne
Maintenant, si vous ne voulez pas utiliser la plage particulière dans la méthode de remplissage automatique, vous pouvez utiliser les valeurs, les formules ou les formats de la cellule active. Lorsque vous cliquez sur une cellule et que vous voulez remplir automatiquement les autres lignes avec la formule de la cellule active, utilisez cette méthode.
C'est similaire à l'exemple précédent. Nous utilisons le jeu de données précédent :
Maintenant, nous allons ajouter les ventes de janvier et février et remplir automatiquement la formule à la dernière ligne en utilisant Excel VBA.
Maintenant, tapez le code suivant :
Sub autofill_active_cell() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row ActiveCell.Formula = "=SUM(C5:D5)" ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ; ":E" & ; last_row) End Sub
last_row = Cells(Rows.Count, 2).End(xlUp).Row : Elle renvoie la dernière ligne utilisée de la colonne B. Vous pouvez choisir n'importe quelle colonne de votre ensemble de données.
ActiveCell.Formula = "=SUM(C5:D5)" : Nous ajoutons les ventes de Cellule C5 et D5 dans la cellule sélectionnée.
ActiveCell.AutoFill Destination:=Range(ActiveCell.Address & ; ":E" & ; last_row) : Après avoir obtenu le résultat, nous utilisons la fonction de remplissage automatique, qui commence à remplir automatiquement la cellule active jusqu'à la dernière ligne utilisée que nous avons obtenue précédemment.
Maintenant, sélectionnez Cellule E5 .
Ensuite, exécutez la macro VBA pour ajouter la formule et le remplissage automatique à la dernière ligne.
Comme vous pouvez le constater, nous avons utilisé avec succès la macro VBA pour remplir automatiquement la formule à la dernière ligne.
Lectures similaires
- Comment répéter des lignes un nombre spécifié de fois dans Excel (4 façons)
- Numéroter automatiquement les lignes dans Excel (8 méthodes)
- Comment remplir une colonne dans Excel avec la même valeur (9 astuces)
- Appliquer le raccourci AutoFill dans Excel (7 méthodes)
3. remplissage automatique de la dernière ligne à l'aide de la plage dynamique avec Excel VBA
Nous vous avons montré précédemment quelques macros VBA permettant de remplir automatiquement la dernière ligne d'Excel. Dans ces exemples, nous avons déjà utilisé des plages dynamiques.
Pour comprendre les plages statiques, regardez le code suivant :
Sub last_used_row() Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E11") End Sub
En fait, nous avons demandé à Excel de saisir une formule dans le champ Cellule E5 et le remplir automatiquement à partir de Cellule E5 à Cellule E11 Ici, nous avons spécifié la plage. Et si vous ajoutez d'autres lignes ? Dans ce cas, notre VBA ne remplira pas automatiquement ces lignes supplémentaires car nous lui avons déjà demandé de remplir automatiquement une plage spécifique.
Pour résoudre ce problème, j'ai trouvé une solution qui peut prendre une gamme dynamique :
Sub last_used_row() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("E5").Formula = "=SUM(C5:D5)" Range("E5").AutoFill Destination:=Range("E5:E" & ; last_row) End Sub
Comme vous pouvez le voir, nous trouvons d'abord la dernière ligne par cette ligne de code :
last_row = Cells(Rows.Count, 2).End(xlUp).Row
Après cela, nous remplissons automatiquement la dernière ligne en utilisant la gamme dynamique :
Range("E5").AutoFill Destination:=Range("E5:E" & ; last_row)
Quel que soit le nombre de lignes que vous ajoutez à votre ensemble de données, ce code VBA réussira à les identifier et à les remplir automatiquement avec la formule.
La plage dynamique signifie essentiellement que vous n'avez pas à saisir la plage manuellement. Excel la met à jour de temps en temps.
Lire la suite : Excel VBA : la méthode de remplissage automatique de la classe Range a échoué
4. remplissage automatique de la dernière colonne dans Excel en utilisant VBA
Si vous avez lu les sections précédentes sur le remplissage automatique de la dernière ligne, alors vous pouvez facilement remplir automatiquement la dernière colonne. Il vous suffit de trouver le numéro de la dernière colonne et de le remplir automatiquement avec Excel VBA.
Jetez un coup d'œil à l'ensemble de données suivant :
Nous avons ici un ensemble de données qui représente le budget de trois mois d'une personne. Nous allons maintenant additionner les dépenses de tous les mois et remplir automatiquement la formule de la dernière colonne en utilisant le VBA d'Excel.
Maintenant, tapez le code suivant :
Sub last_used_column() Dim last_row As Long last_column = Cells(6, Columns.Count).End(xlToLeft).Column Range("D9").Formula = "=SUM(D6:D8)" Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)) End Sub
last_column = Cells(6, Columns.Count).End(xlToLeft).Column : Il renvoie la dernière colonne utilisée de la ligne 6. Vous pouvez choisir n'importe quelle ligne pour commencer dans votre ensemble de données.
Range("D9").Formula = "=SUM(D6:D8)" : Nous ajoutons les dépenses de trois mois (janvier, février et mars).
Range("D9").AutoFill Destination:=Range("D9", Cells(9, last_column)) : Après avoir obtenu le résultat, nous utilisons le remplissage automatique. Ici, notre ligne principale est la ligne numéro 9. Toutes nos données seront dans cette ligne. Il commence le remplissage automatique à partir de la colonne D à la dernière colonne utilisée que nous avons obtenue précédemment par la fonction dernière_colonne .
Après avoir exécuté la macro, vous verrez le résultat suivant :
Comme vous pouvez le constater, nous avons utilisé avec succès le VBA pour remplir automatiquement la formule dans la dernière colonne d'Excel.
Lire la suite : Comment remplir automatiquement une colonne dans Excel ?
5. remplir automatiquement des numéros séquentiels à la dernière ligne dans Excel en utilisant VBA
Vous pouvez également remplir automatiquement des numéros séquentiels à l'aide de la fonction de remplissage automatique en VBA. xlFillSeries dans le type de remplissage automatique. Excel comprendra le modèle et le remplira.
Jetez un coup d'œil à la capture d'écran suivante :
Ici, nous avons quelques noms. Et nous voulons leur donner un ID de manière séquentielle. Pour ce faire, nous allons utiliser le remplissage automatique VBA.
Remplissage automatique de numéros séquentiels avec une plage statique :
Sub sequential_number_2() Range("C5").AutoFill Destination:=Range("C5:C11"), Type:=xlFillSeries End Sub
Après avoir exécuté le code, vous verrez la sortie :
Si vous voulez utiliser la gamme dynamique, utilisez le code suivant :
Sub sequential_number_1() Dim last_row As Long last_row = Cells(Rows.Count, 2).End(xlUp).Row Range("C5").AutoFill Destination:=Range("C5:C" & ; last_row), Type:=xlFillSeries End Sub
last_row = Cells(Rows.Count, 2).End(xlUp).Row : Elle renvoie la dernière ligne utilisée de la colonne B.
Range("C5").AutoFill Destination:=Range("C5:C" & ; last_row), Type:=xlFillSeries : Il prendra l'ID de Cellule C5 et le remplissage automatique de la dernière ligne utilisée dans la colonne C en utilisant le xlFillSeries ,
Dans les deux cas, vous obtiendrez le même résultat :
Comme vous pouvez le constater, nous avons utilisé avec succès le code VBA pour remplir automatiquement des numéros séquentiels dans Excel.
Lire la suite : Formules Excel pour remplir des numéros de séquence en sautant des rangées cachées
💬 Choses à retenir
✎ Vous pouvez arrêter le remplissage automatique de diverses manières si vous ne le voulez pas. .
✎ Il n'est pas possible de remplir automatiquement plusieurs lignes et colonnes simultanément, il faut le faire une par une.
Conclusion
Pour conclure, j'espère que ce tutoriel vous a apporté des connaissances utiles pour remplir automatiquement la formule à la dernière ligne à l'aide des codes VBA. Nous vous recommandons d'apprendre et d'appliquer toutes ces instructions à votre ensemble de données. Téléchargez le cahier d'exercices et essayez-les vous-même. N'hésitez pas non plus à donner votre avis dans la section des commentaires. Vos précieux commentaires nous motivent à créer des tutoriels comme celui-ci.ceci.
N'oubliez pas de consulter notre site web Exceldemy.com pour divers problèmes et solutions liés à Excel.
Continuez à apprendre de nouvelles méthodes et à vous développer !