OVH Cloud OVH Cloud

insertion lignes?

2 réponses
Avatar
kamel
Bonsoir,

J'ai des formules de la lignes 1 à 10 sur mes cellules, et je souhaite en
inserant une ligne entre la ligne 1 à 10, conserver les formules sur la ligne
inséré.

est ce possible, si oui comment faire.

d'avance merci

2 réponses

Avatar
ChrisV
Bonjour Kamel,

La macro suivante ajoute une commande supplémentaire au menu contextuel
associé aux cellules, et permet d'insérer une ligne au dessus de la cellule
active en reportant l'ensemble des formules uniquement (pas les constantes),
de la ligne précédente.

dans un module du classeur:

Sub zaza()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
ActiveCell.EntireRow.Insert
r = ActiveCell.Row
Range("A" & r - 1).Select
Rows(r - 1).Copy Destination:=Rows(r)
Rows(ActiveCell(3)).SpecialCells(xlCellTypeConstants, 23) _
.ClearContents
Range("A" & r).Select
End Sub

dans la feuille de code de l'onglet concerné:

Private Sub Worksheet_Activate()
With Application.CommandBars("Cell").Controls.Add(msoControlButton)
.Caption = "Insérer une ligne au dessus avec recopie de formule(s)"
.BeginGroup = True
.FaceId = 134
.OnAction = "zaza"
End With
End Sub

Private Sub Worksheet_Deactivate()
Application.CommandBars("Cell").Reset
End Sub


ChrisV


"kamel" a écrit dans le message de news:

Bonsoir,

J'ai des formules de la lignes 1 à 10 sur mes cellules, et je souhaite en
inserant une ligne entre la ligne 1 à 10, conserver les formules sur la
ligne
inséré.

est ce possible, si oui comment faire.

d'avance merci




Avatar
JB
Bonjour,

http://cjoint.com/?mjgD0EYkyJ

Sub InsèreCopieLigne()
ActiveCell.EntireRow.Insert
Rows(ActiveCell.Row + 1).Copy Rows(ActiveCell.Row)
On Error Resume Next
Rows(ActiveCell.Row).SpecialCells(xlCellTypeConstants,
23).ClearContents
End Sub

Cordialement JB