L
le rital
Guest
Bonjour le forum,
Voici un code, (je ne connais pas l'auteur), qui permet d'ajouter une ligne avec les formules,
elle fonctionne très bien, mais il faut impérativement selectionner une cellule ou la ligne "au dessus" ce qui occasionne une source d'erreur.
1 - Est-il possible de modifier la macro afin de selectionner la ligne concernée ?
exemple : j'ai besoin d'une ligne "x" alors je clique sur "x"
2 - Est-il possible également d'annuler cette action en cas d'erreur car la touche "annulation" d'excel ne fonctionne pas une fois la macro exécutée ?
Merci d'avance
Cordialement
Le rital
Sub NouvelleLigneEnDessous()
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub
Voici un code, (je ne connais pas l'auteur), qui permet d'ajouter une ligne avec les formules,
elle fonctionne très bien, mais il faut impérativement selectionner une cellule ou la ligne "au dessus" ce qui occasionne une source d'erreur.
1 - Est-il possible de modifier la macro afin de selectionner la ligne concernée ?
exemple : j'ai besoin d'une ligne "x" alors je clique sur "x"
2 - Est-il possible également d'annuler cette action en cas d'erreur car la touche "annulation" d'excel ne fonctionne pas une fois la macro exécutée ?
Merci d'avance
Cordialement
Le rital
Sub NouvelleLigneEnDessous()
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
ActiveCell.Range("A2").EntireRow.Insert
ZtNumLig = ActiveCell.Row
ZtDerCol = ActiveCell.SpecialCells(xlCellTypeLastCell).Column
Range(Cells(ZtNumLig, 1), Cells(ZtNumLig, ZtDerCol)).Copy _
Range(Cells(ZtNumLig + 1, 1), Cells(ZtNumLig + 1, ZtDerCol))
Application.ScreenUpdating = False
For i = 1 To ZtDerCol
If Not Cells(ZtNumLig + 1, i).HasFormula Then
Cells(ZtNumLig + 1, i).ClearContents
End If
Next i
ActiveCell.Range("A2").Select
End Sub