Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Microsoft 365 Insérer ligne avec formules

G@vroche

XLDnaute Nouveau
Bonjour,

J'ai un code qui me permet d'insérer une ligne à mon tableau au dessus de la cellule active, en copiant les formules, et en effaçant les autres valeurs.
Ce code fonctionne bien si au moins une valeur est rentrée sur la ligne active.
Mais si la ligne active est vide, j'ai un message d'erreur 400 qui s'affiche.

Savez-vous pourquoi ?
Ci-dessous le code :

Sub InserLigne_L_()
Dim Plage As Range
ActiveCell.EntireRow.Copy
ActiveCell.EntireRow.Insert
Set Plage = ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants, 1)
If Not Plage Is Nothing Then Plage.ClearContents
ActiveSheet.Calculate
End Sub

Merci
 
Solution
VB:
Sub InserLigne_L_()
Dim Plage As Range
ActiveCell.EntireRow.Copy
ActiveCell.EntireRow.Insert

on error resume next
Set Plage = ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants, 1)
if err = 0 then Plage.Clearcontents
on error goto 0

ActiveSheet.Calculate
End Sub

laurent3372

XLDnaute Impliqué
Supporter XLD
VB:
Sub InserLigne_L_()
Dim Plage As Range
ActiveCell.EntireRow.Copy
ActiveCell.EntireRow.Insert

on error resume next
Set Plage = ActiveCell.EntireRow.SpecialCells(xlCellTypeConstants, 1)
if err = 0 then Plage.Clearcontents
on error goto 0

ActiveSheet.Calculate
End Sub
 

G@vroche

XLDnaute Nouveau
Bonjour laurent3372,

Je retire ce que j'ai dit!
J'avais mis ce code dans la feuille. Et ça ne marchait pas.
Mais j'ai essayé de le mettre dans un module. Et là, ça fonctionne parfaitement!
Merci pour ton aide.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…