Passer au contenu principal

 Comment remplir automatiquement la formule lors de l'insertion de lignes dans Excel?

Auteur : Xiaoyang Dernière modification: 2017-05-02

Lorsque vous insérez des lignes vides entre des lignes de données existantes, la formule ne sera pas copiée et collée dans la nouvelle ligne, vous devez la faire glisser ou la remplir manuellement. Mais, parfois, vous souhaitez remplir la formule lorsque vous insérez automatiquement des lignes vides entre la plage de données, comme illustré ci-dessous, cet article, je vais parler de quelques astuces rapides pour résoudre cette tâche.

doc remplissage automatique de la formule insertion de la ligne 1

Formule de remplissage automatique lors de l'insertion de lignes vides lors de la création d'un tableau

Formule de remplissage automatique lors de l'insertion de lignes vides avec le code VBA


Formule de remplissage automatique lors de l'insertion de lignes vides lors de la création d'un tableau

Dans Excel, le format de tableau peut vous aider à remplir automatiquement la formule ci-dessus dans les nouvelles lignes vides insérées, procédez comme suit:

1. Sélectionnez la plage de données pour laquelle vous souhaitez remplir automatiquement la formule, puis cliquez sur insérer > lampe de table, voir capture d'écran:

doc remplissage automatique de la formule insertion de la ligne 2

2. Dans le Créer un tableau boîte de dialogue, vérifiez la Mon tableau a des en-têtes s'il y a des en-têtes dans vos données, voir capture d'écran:

doc remplissage automatique de la formule insertion de la ligne 3

3. Puis clique OK bouton, et le tableau a été créé, et maintenant, lorsque vous insérez une ligne vide, la formule ci-dessus sera insérée automatiquement dans la nouvelle ligne, voir capture d'écran:

doc remplissage automatique de la formule insertion de la ligne 4


Formule de remplissage automatique lors de l'insertion de lignes vides avec le code VBA

Si vous n'aimez pas modifier les données en table, le code VBA ci-dessous peut également vous aider à résoudre ce problème.

1. Sélectionnez l'onglet de la feuille de calcul qui contient les formules que vous souhaitez remplir automatiquement et cliquez avec le bouton droit pour choisir Voir le code dans le menu contextuel pour accéder à Microsoft Visual Basic pour applications , puis copiez et collez le code suivant dans le module:

Code VBA: formule de remplissage automatique lors de l'insertion de lignes vides

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'Updateby Extendoffice 20160725
    Cancel = True
    Target.Offset(1).EntireRow.Insert
    Target.EntireRow.Copy Target.Offset(1).EntireRow
    On Error Resume Next
    Target.Offset(1).EntireRow.SpecialCells(xlConstants).ClearContents
End Sub

doc remplissage automatique de la formule insertion de la ligne 5

2. Ensuite, enregistrez et fermez ce code, revenez à la feuille de calcul, maintenant, lorsque vous double-cliquez sur une cellule entre les données, une nouvelle ligne sera insérée sous la cellule active et la formule est également remplie automatiquement.


Démo: formule de remplissage automatique lors de l'insertion de lignes vides

Meilleurs outils de productivité bureautique

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons   |  Supprimer les lignes vides   |  Combinez des colonnes ou des cellules sans perdre de données   |   Tour sans formule 
Super recherche: VSearchup à critères multiples    VSearch à valeurs multiples  |   Recherche virtuelle sur plusieurs feuilles   |   Recherche floue ....
Liste déroulante avancée: Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple ....
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  |  Comparer les plages et les colonnes 
Caractéristiques en vedette: Mise au point de la grille   |  Voir Design   |   Grande barre de formule    Gestionnaire de classeurs et de feuilles   |  Centre de ressources (Texte automatique)   |  Sélecteur de date   |  Combiner des feuilles de travail   |  Crypter/déchiffrer les cellules    Envoyer des e-mails par liste   |  Super filtre   |   Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères, ...)   |   50+ Graphique Types (Diagramme de Gantt, ...)   |   40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire, ...)   |   19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin, ...)   |   12 Conversion Outils (Nombres en mots, Conversion des devises, ...)   |   7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Cellules divisés, ...)   |   ... et plus

Améliorez vos compétences Excel avec Kutools for Excel et faites l'expérience d'une efficacité comme jamais auparavant. Kutools for Excel offre plus de 300 fonctionnalités avancées pour augmenter la productivité et gagner du temps.  Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...

Description


Office Tab apporte une interface à onglets à Office et facilite grandement votre travail

  • Activer 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 réduit des centaines de clics de souris chaque jour!
Comments (14)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
This works GREAT, until I protect the worksheet (to protect my forumulas in other cells). Can you let me know what i need to do to keep this functionality once the worksheet is protected?
This comment was minimized by the moderator on the site
Excellent simple piece of code!!!!
This comment was minimized by the moderator on the site
Hi,

This code is very helpful, however, I have a slightly different requirement. The formulas should be copied when the row is inserted manually, i.e. by "insert row".
Can you please resend the code after incorporating this change i.e. instead of "Worksheet_BeforeDoubleClick", some other trigger point to be used "insert row/etc"

Note - I do have any exposure to coding being from the Accounts background.


Regards
Niket Shet
This comment was minimized by the moderator on the site
Hi Niket. You can see all the options for different trigger points in the tab itself.

For this click on CTRL + F11 to open the code editor as explained in the video above, and there will be 2 dropdowns on the top of the code which you would copy, click on the second dropdown and you can find many options for different trigger points.

The first dropdown would be ideally set to "Worksheet" and the second one would be set to "BeforeDoubleClick". You can change the second trigger point to your liking and use accordingly.

Hope it helps!
This comment was minimized by the moderator on the site
I had the same question as Niket, so I tried looking at the list of trigger points in the second dropdown and I don't see anything that clearly works as Niket or I intend with the (select row+right click+insert row functionality). I tried the "BeforeRightClick" option but it just inserts a row w/formulas anytime I right click a cell, which is definitely not what I was looking for. Is there a resource somewhere that explains what each of the triggers can be used for? Or is there possibly another way to get to this functionality?

Thanks!
Jeff
This comment was minimized by the moderator on the site
I am using the code to insert a line on double-click. However, there is something wrong, Excel does not increment the first reference in my formula in the next but one row. However, it is corrected for all remaining rows.
I inserted a line at row 144 and this is what I got: (note S144 in 3rd line should be S145)
row 144 =(S143+D144+E144)-(K144+L144+M144+N144+O144+Q144+R144)
row 145 =(S144+D145+E145)-(K145+L145+M145+N145+O145+Q145+R145)
row 146 =(S144+D146+E146)-(K146+L146+M146+N146+O146+Q146+R146)
row 147 =(S146+D147+E147)-(K147+L147+M147+N147+O147+Q147+R147)
Any clues as to why it does this, I don't think it is the VBA???
David
This comment was minimized by the moderator on the site
Does the table method work in excel for xp (2002) and if yes, how?
This comment was minimized by the moderator on the site
The code works very well, but does not update cell reference in first row after the inserted row.See below" e.g 50 10 40 40 10 50 40 20 20
This comment was minimized by the moderator on the site
This code is very good, but it does not update the cell reference in the first following row after the inserted row. Can you please help? e.g: 50 10 40 40 10 50 40 20 20
This comment was minimized by the moderator on the site
Above formula is very helpful for me please tell me how to use this code permanently
This comment was minimized by the moderator on the site
dear above formula which helps to update the above formula on inserting row by double clicking. I want to know how to use this code permanently because when i close the sheet and reopen code finishes. Please help to solve the issue. This formula is very helpful for me
This comment was minimized by the moderator on the site
Hi Bilal. You need to save the file as a "Macro Enabled" file to get the code to work once you close and reopen the file. To save the file as Macro, just use "Save as" and then select "Excel-Macro Enabled Workbook" to get the desired result.
This comment was minimized by the moderator on the site
Very easy solution. Thank you very much.
This comment was minimized by the moderator on the site
I followed the VBA code mentioned above for my xls. I have one .xls with multiple sheets in it , i want if i insert a row in my one sheet at the start or any of the sheet for that matter it should auto insert row in all my sheet in the same worksheet. Also each of my sheet as formulas hence i want the moment auto insert takes place the formula of above row should get autofill in the new row which is not happening totally if i follow the VBA code mentioned , the rows are getting inserted in all my sheets the formula also shows up but it misses one row in it. Eg. I have sheet A with 100 rows , sheet B with 100 ros and so on with other sheets. If I insert row in sheet A it shows auto insert in Sheet B , but sheet B values of some column are linked with sheet A and the moment i insert a row eg 10 , row 11 is a new row and the same row 11 in sheet B also shows up but the value it should pull from row 11 of sheet A from column C rather it shows row 12 of sheet A , this happens on any row i insert the value in sheet B is always of the next row rather than same row that i inserted. Another problem that comes here is with my first column Sr. no the moment i insert a row in 5 , sr no 6 with new row shows up but prior to that i already had row 6 as i have a formula for Sr. no A6+1 as my column starts from A6 and so on so how to sort this issue with 2 rows with same sr. no. This is very crucial sheet am working on and i need to get this sorted, i have refereed many VBA codes but none is effective. Hoping for a proper solution to my issue.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations