Macro copie/insertion de ligne

jo1177

XLDnaute Junior
Bonjour à tous !

Voila, j'ai une macro qui me permet d'insérer une ligne par la simple pression d'un bouton, cette macro recopie juste les formules de la ligne du dessous, et efface mise en formes et autres valeurs inutiles.

La voici :



Code:
Sub Insère()

ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row + 1).CopyRows (ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents

Rows(ActiveCell.Row).Select
With Selection.Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0

End With

End Sub


Je voudrai modifier légèrement cette macro, en lui disant que au lieu de recopier la ligne du dessous, il me recopie la ligne 200 par exemple.

Etant débutant en VBA, je fais appel à vous car je ne comprend pas grand chose à ce code...

Merci à tous pour votre aide !

jo1177
 

pierrejean

XLDnaute Barbatruc
Re : Macro copie/insertion de ligne

bonjour jo1177

A tester

Code:
Sub Insère()
 
ActiveCell.EntireRow.Insert
Rows([COLOR=blue]200[/COLOR]).CopyRows (ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents
 
Rows(ActiveCell.Row).Select
With Selection.Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0
 
End With
 
End Sub
 

jo1177

XLDnaute Junior
Re : Macro copie/insertion de ligne

Merci pierrejean pour votre réponse, j'ai essayé et cela fonctionne !

Mais au final, je me suis aperçu que mon problème ne vient pas de la réellement, en fait le seul souci que me pose cette macro est que celle-ci recopie les commentaires de la ligne précédente (si il y en a).

Que dois-je rajouter à la macro afin que celle ci ne recopie pas le commentaire lors de l'insertion d'une nouvelle ligne ?

Merci beaucoup pour votre aide =)

jo1177
 

jo1177

XLDnaute Junior
Re : Macro copie/insertion de ligne

Re !

C'est bon, j'ai trouvé !

Pour info :

Code:
Sub Insère()

ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row + 1).CopyRows (ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants, 23).ClearContents

[COLOR="Red"]Range(ActiveCell.Row).Select
Selection.ClearComments[/COLOR]

Rows(ActiveCell.Row).Select
With Selection.Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = 0
.PatternTintAndShade = 0

End With

End Sub

A+ !

jo1177
 

Discussions similaires