Remplissage automatique VBA

Que fait le remplissage automatique dans Excel VBA?

Nous avons vu le remplissage automatique dans la feuille de calcul où les cellules sont automatiquement remplies en fonction des valeurs des cellules précédentes au-dessus, nous pouvons utiliser VBA afin qu'Excel fasse la tâche pour nous, pour ce faire, nous utilisons la méthode Selection.Autofill et nous fournissons le destination, c'est-à-dire jusqu'à quelles cellules les valeurs doivent être remplies.

La meilleure utilisation du remplissage automatique VBA vient lorsque nous devons remplir la formule de la première cellule dans la cellule de la colonne. Nous appliquons généralement la formule dans la première cellule, soit nous copions et collons dans la dernière cellule, soit nous remplissons simplement automatiquement en double-cliquant sur la petite touche fléchée. Un autre meilleur exemple d'utilisation de la saisie automatique dans Excel est lorsque nous devons insérer des numéros de série. Nous tapons généralement les trois premiers nombres, puis nous faisons glisser vers le bas jusqu'à la dernière cellule requise.

Dans VBA aussi, nous pouvons effectuer la tâche de la méthode AutoFill. Dans cet article, nous allons vous montrer comment nous pouvons utiliser la méthode de remplissage automatique et les moyens d'écrire le code. Nous allons maintenant voir comment nous pouvons utiliser cet outil dans le codage VBA.

Comment utiliser la saisie automatique dans VBA?

Pour utiliser le remplissage automatique dans VBA, nous devons comprendre la syntaxe de la méthode de remplissage automatique. Vous trouverez ci-dessous la syntaxe du remplissage automatique.

  • Plage («A1»): quelles sont les cellules permettant d'identifier le motif de la série de remplissage.
  • Destination: jusqu'à quelle cellule vous souhaitez continuer le motif de la série de remplissage. Ici, nous devons mentionner la gamme complète de cellules.
  • Tapez comme xlAutoFillType: Ici, nous pouvons sélectionner le type de remplissage de série. Vous trouverez ci-dessous la liste des éléments de ce paramètre - xlFillCopy, xlFillDays, xlFillDefault, xlFillFormats, xlFillMonths, xlFillSeries, xlFillValues, xlFillWeekdays, xlFillYears, xlFlashFill, xlGrowthLTrend, xlFlashFill, xlGrowthTrend.

Exemples de remplissage automatique dans Excel VBA

Voyons quelques exemples simples à avancés de remplissage automatique VBA dans Excel.

Exemple # 1 - xlFillDefault

Tout d'abord, entrez 3 numéros de série dans les trois premières cellules.

Dans la sous-procédure VBA, mentionnez la plage VBA comme plage ("A1: A3")

Code:

Plage Sub AutoFill_Example1 () ("A1: A3"). End Sub

Accédez maintenant à la méthode AutoFill.

Entrez la destination comme plage ("A1: A10")

Code:

Plage ("A1: A3"). Destination de saisie automatique: = Plage ("A1: A10") 

Sélectionnez le type comme xlFillDefault .

Code:

Plage ("A1: A3"). Destination de la saisie automatique: = Plage ("A1: A10"), Type: = xlFillDefault 

Maintenant, exécutez le code, nous obtiendrons les numéros de série de 1 à 10.

Depuis que nous avons mentionné la cellule de destination finale comme A10, elle s'est arrêtée là, nous pouvons entrer la cellule de destination comme dernière cellule de l'Excel.

Exemple # 2 - xlFillCopy

Pour les mêmes nombres, nous utiliserons le type xlFillCopy.

Code:

 Sub AutoFill_Example1 () Range ("A1: A3"). AutoFill Destination: = Range ("A1: A10"), Type: = xlFillCopy End Sub 

J'ai la copie des trois premières cellules vers les cellules restantes.

Exemple # 3 - xlFillMonths

Pour cet exemple, j'ai entré les trois premiers mois dans les 3 premières cellules.

Modifiez le type de remplissage automatique en xlFillMonths.

Code:

 Sub AutoFill_Example1 () Range ("A1: A3"). AutoFill Destination: = Range ("A1: A10"), Type: = xlFillMonths End Sub 

Cela remplira la série mensuelle.

Exemple # 4 - xlFillFormats

Pour cet exemple, j'ai entré des nombres et appliqué une mise en forme à ces cellules.

Maintenant, je vais changer le type en xlFillFormats.

Code:

 Sub AutoFill_Example1 () Range ("A1: A3"). AutoFill Destination: = Range ("A1: A10"), Type: = xlFillFormats End Sub 

Exécutez ce code et voyez ce qui se passe.

Il a rempli les formats des trois premières cellules aux trois cellules suivantes et à nouveau aux trois cellules suivantes, etc.

Exemple # 5 - xlFlashFill

Pour cet exemple, j'ai entré quelques valeurs de la cellule A1 à A10, comme indiqué dans l'image ci-dessous.

De cette liste, je souhaite extraire la partie numérique. Pour dire à Excel sur le modèle, dans la première cellule, je vais entrer manuellement la partie numérique de la première cellule.

Maintenant, je vais écrire le code comme d'habitude et changer le type en xlFlashFill. Cette fois, nous utiliserons la plage de colonnes B.

Code:

 Sub AutoFill_Example1 () Range ("B1"). AutoFill Destination: = Range ("B1: B10"), Type: = xlFlashFill End Sub 

Si j'exécute ce code, nous obtiendrons le résultat comme ci-dessous.

Voici la présentation de la méthode de remplissage automatique VBA. J'espère que vous l'avez apprécié.

Vous pouvez télécharger ce modèle Excel de remplissage automatique VBA à partir d'ici - Modèle Excel de remplissage automatique VBA