OVH Cloud OVH Cloud

Comment supprimer une ligne et automatiquement......

7 réponses
Avatar
mateos francois
Bonjour(soir),
voila je souhaiterai copier automatiquement un ensemble de cellules
contenant des formules à chaque fois que je supprime une ligne.

1
2 'ligne supprimer en sélectionnant l'entête de ligne , donc décalage des
lignes du dessous
3
4
() "recopie de la formule de la cellule du dessus 4
automatiquement lors de la suppression de la ligne 2"


Ce qui m'évitera de recopier les formules sur 1000 lignes en sachant qu'a un
moment donné il n'y aura plus de formule puisqu'on supprime les lignes
entièrements.

Suis je clair ??

Merci par avance pour vos réponses (ne serait-ce qu'une petite piste serait
la bienvenue.)

Sincères salutation.

7 réponses

Avatar
jps
bonjour mateos françois
je ne comprends pas bien ce que tu veux faire mais essaie la proc ci-dessous
qui insère une ligne vide au dessus tout en conservant les formules qui
étaient dans la ligne qui passe donc en dessous...elle doit être de
iznogood, un autre de nos chers disparus...
HTH
jps

Sub NouvelleLigneAuDessus() 'icône MAJ
' Insère une ligne au-dessus de la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
' Spéciale JPS
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
ActiveCell.EntireRow.insert
ActiveCell.Range("A2").Select
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).Clear 'Contents(pour que s'annulent aussi
les commentaires)
End If
Next i
ActiveSheet.Range("A2").Select
End Sub
"mateos francois" a écrit dans le message de
news:41af8ee1$0$546$
Bonjour(soir),
voila je souhaiterai copier automatiquement un ensemble de cellules
contenant des formules à chaque fois que je supprime une ligne.

1
2 'ligne supprimer en sélectionnant l'entête de ligne , donc décalage des
lignes du dessous
3
4
() "recopie de la formule de la cellule du dessus 4
automatiquement lors de la suppression de la ligne 2"


Ce qui m'évitera de recopier les formules sur 1000 lignes en sachant qu'a
un

moment donné il n'y aura plus de formule puisqu'on supprime les lignes
entièrements.

Suis je clair ??

Merci par avance pour vos réponses (ne serait-ce qu'une petite piste
serait

la bienvenue.)

Sincères salutation.





Avatar
mateos francois
Merci jps pour ta réponse,
pour mieux comprendre , je souhaiterai savoir s'il est possible, lorsque
l'évènement supprimer ligne entière intervient dans la feuil1 par exemple,
de copier la cellule B5 dans la Cellule B6 par exemple (en considérant que
dans la cellule B5 il y a des formules.)

Merci pour ta réponse.
je vais essayer de voir ce que je peux faire du code transmis.
Avatar
jps
re
alors peut-être avec cette proc là qui envoie la formule dans la ligne en
dessous
fais l'essai car ce ne doit pas être loin de ce que tu souhaites faire,
peut-être en adaptant un peu
jps

Sub NouvelleLigneEnDessous()
' Insère une ligne sous la ligne qui contient la cellule active
' et y recopie les formules qu'elle contient
Dim ZtNumLig As Integer
Dim ZtDerCol As Integer
Dim i
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


"mateos francois" a écrit dans le message de
news:41af95dc$0$565$
Merci jps pour ta réponse,
pour mieux comprendre , je souhaiterai savoir s'il est possible, lorsque
l'évènement supprimer ligne entière intervient dans la feuil1 par
exemple,

de copier la cellule B5 dans la Cellule B6 par exemple (en considérant que
dans la cellule B5 il y a des formules.)

Merci pour ta réponse.
je vais essayer de voir ce que je peux faire du code transmis.





Avatar
mateos francois
re
effectivement c'est presque ça jps !! mais il faudrait que ce soit réalisé
lorsque l'utilisateur supprime une ligne....
Evènement etape 1 > Réalisation macro Etape 2.

A B
C

1 123.25 =Formule(A1+A2) ±+.5
2 124.35 =Formule(A2+A3) ²+.5
3 98.25 =Formule(A3+A4) ³+.5
4 789.23 =Formule(A4+A3) ´+.5 ' Etape
1 - l'utilisateur surpprime cette ligne
5 456.12 =Formule(A5+A4) µ+.5
6 987.12 =Formule(A6+A5) ¶+.5
7 5548.12 =Formule(A7+A6) ·+.5
8 658.48 =Formule(A8+A7) ¸+.5
9 4967.12 =Formule(A9+A8) ¹+.5
10 4698.46 =Formule(A10+A9) ±0+.5
11 Etape 2
'recopie des formules ligne 10 automatiquement sur ex ligne11 devenue10

Je cherche de mon côté avec le code que tu m'as envoyé,
ce casse tête va me donner du fil à retordre dic donc,
Merci encore jps.
Avatar
jps
bon je vais me coucher françois
mais juste une dernière question et ça fera peut-être avancer le
schmilibilibilick pour d'autres plus érudits que moi :

ton utilisateur supprime une ligne "par le ventre", si je comprends bien ton
exemple qui sort mal à cause de la coupure de ligne?
et ensuite c'est donc toujours les formules de la dernière ligne devenue
l'avant dernière qui serait à coller dans la nouvelle derniere?
parce que si c'est toujours la dernière ligne qui est à traiter, il re faut
passer par un End(xlUp) car je suppose que tu ne sais pas quelle sera la
ligne à supprimer..
sur ce, au lit, demain y a école
jps



"mateos francois" a écrit dans le message de
news:41afa79b$0$542$
re
effectivement c'est presque ça jps !! mais il faudrait que ce soit réalisé
lorsque l'utilisateur supprime une ligne....
Evènement etape 1 > Réalisation macro Etape 2.

A B
C

1 123.25 =Formule(A1+A2) ±+.5
2 124.35 =Formule(A2+A3) ²+.5
3 98.25 =Formule(A3+A4) ³+.5
4 789.23 =Formule(A4+A3) ´+.5 ' Etape
1 - l'utilisateur surpprime cette ligne
5 456.12 =Formule(A5+A4) µ+.5
6 987.12 =Formule(A6+A5) ¶+.5
7 5548.12 =Formule(A7+A6) ·+.5
8 658.48 =Formule(A8+A7) ¸+.5
9 4967.12 =Formule(A9+A8) ¹+.5
10 4698.46 =Formule(A10+A9) ±0+.5
11 Etape 2
'recopie des formules ligne 10 automatiquement sur ex ligne11 devenue10

Je cherche de mon côté avec le code que tu m'as envoyé,
ce casse tête va me donner du fil à retordre dic donc,
Merci encore jps.





Avatar
mateos francois
Merci jps, pour ta réponse, je creuse , je creuse....
ou la la ca été dur dur ce vendredi matin de se lever....
A+

FM
Avatar
jps
t'as fini de creuser, françois, ou bien faut appeler les grands au secours?
jps

"mateos francois" a écrit dans le message de
news:41b0c814$0$430$
Merci jps, pour ta réponse, je creuse , je creuse....
ou la la ca été dur dur ce vendredi matin de se lever....
A+

FM