insérer ligne en-dessous : Pb de formules

Le
Sunburn
Bonjour,
j'ai une macro pour insérer une ligne en dessous de la ligne active, en
reprennant les formule.
Mais le hic, c'est que mes formules de la ligne en dessous sont alors fausses.
En effet, exemple :
A4 : £+1
A5 : ¤+1
A6 : ¥+1
quand j'insère une ligne en-dessous de A5, j'ai ceci:
A4 : £+1
A5 : ¤+1
A6 : ¥+1 (nouvelle ligne)
A7 : ¥+1 (ancienne ligne A6)
moi je veux que ma suite continue, qu'en A7 j'ai A6+1
Je vous met ci-après ma macro.
YANN
-
Sub NouvelleLigneEnDessous()
'pour ajouter une ligne en-dessous de la ligne active, avec reprise des
formules
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
-
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Youky
Le #17956751
Bonjour,
Pourquoi ne pas remplacer la formule en A4 £+1
par
=INDIRECT("A" & LIGNE()-1)+1

Youky
Sunburn
Le #17956891
C'est exact, je ne connaissais pas, mais c'est nikel.
par contre, j'ai sur cette meme ligne, une formule qui fait des additions
dans la ligne, et qui reprend 2 infos de la ligne précédente.
Comment modifier ma formule pour obtenir le meme resultat que ce que tu m'as
donné ?
---
j'ai ça pour la ligne 18 :
=SI(L18+M18-N18-O18-P18+R17+S17>0;L18+M18-N18-O18-P18+R17+S17;0)
----
donc peut etre dans ce style, non ? :
=SI(L18+M18-N18-O18-P18+(indirect("R"1 & ligne()-1)+1)+(indirect("S"1 &
ligne()-1)+1)>0;L18+M18-N18-O18-P18+R17+S17;0)
--------

"Youky" a écrit :

Bonjour,
Pourquoi ne pas remplacer la formule en A4 £+1
par
=INDIRECT("A" & LIGNE()-1)+1

Youky





FFO
Le #17957111
Salut à toi

Je viens d'essayer ton code il fonctionne tel que tu le souhaites
A6 = A5+1
A7 = A6+1

il devrait en être de même pour toi

Sinon transmets nous ton fichier que l'on fasse des essais
Youky
Le #17957771
=SI(L18+M18-N18-O18-P18+INDIRECT("R" & LIGNE()-1) + INDIRECT("S" &
LIGNE()-1)-1>0;......et la suite
Ligne() ........renvoie le N° de la ligne et Ligne()-1 la ligne avant
Youky


"Sunburn" news:
C'est exact, je ne connaissais pas, mais c'est nikel.
par contre, j'ai sur cette meme ligne, une formule qui fait des additions
dans la ligne, et qui reprend 2 infos de la ligne précédente.
Comment modifier ma formule pour obtenir le meme resultat que ce que tu
m'as
donné ?
---
j'ai ça pour la ligne 18 :
=SI(L18+M18-N18-O18-P18+R17+S17>0;L18+M18-N18-O18-P18+R17+S17;0)
----
donc peut etre dans ce style, non ? :
=SI(L18+M18-N18-O18-P18+(indirect("R"1 & ligne()-1)+1)+(indirect("S"1 &
ligne()-1)+1)>0;L18+M18-N18-O18-P18+R17+S17;0)
--------

"Youky" a écrit :

Bonjour,
Pourquoi ne pas remplacer la formule en A4 £+1
par
=INDIRECT("A" & LIGNE()-1)+1

Youky







Sunburn
Le #17962401
Ok, ça fonctionne, je te remercie.
yann

"Youky" a écrit :

=SI(L18+M18-N18-O18-P18+INDIRECT("R" & LIGNE()-1) + INDIRECT("S" &
LIGNE()-1)-1>0;......et la suite
Ligne() ........renvoie le N° de la ligne et Ligne()-1 la ligne avant
Youky


"Sunburn" news:
> C'est exact, je ne connaissais pas, mais c'est nikel.
> par contre, j'ai sur cette meme ligne, une formule qui fait des additions
> dans la ligne, et qui reprend 2 infos de la ligne précédente.
> Comment modifier ma formule pour obtenir le meme resultat que ce que tu
> m'as
> donné ?
> ---
> j'ai ça pour la ligne 18 :
> =SI(L18+M18-N18-O18-P18+R17+S17>0;L18+M18-N18-O18-P18+R17+S17;0)
> ----
> donc peut etre dans ce style, non ? :
> =SI(L18+M18-N18-O18-P18+(indirect("R"1 & ligne()-1)+1)+(indirect("S"1 &
> ligne()-1)+1)>0;L18+M18-N18-O18-P18+R17+S17;0)
> --------
>
> "Youky" a écrit :
>
>> Bonjour,
>> Pourquoi ne pas remplacer la formule en A4 £+1
>> par
>> =INDIRECT("A" & LIGNE()-1)+1
>>
>> Youky
>>
>>
>>





Publicité
Poster une réponse
Anonyme