Remplacer pour Activecell

Le
denys59.p
Bonjour à tous,

Dans le code suivant, comment remplacer J21 par Active cell ?

Sub AjoutTotal()
Dim Cell As Range
derli = Cells(Rows.Count, "I").End(xlUp).Row
Columns("J:J").Select
Selection.Find(What:="MTL", After:=ActiveCell, LookIn:=xlValu=
es _
, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xl=
Next, _
MatchCase:=False, SearchFormat:=False).Offset(1, 0).Select

'Ici je trouve la cellule contenant les lettres MTL (il n'y en a qu'une) =
et je choisis la cellule qui est dans la ligne en dessous. Je voudrais que =
le code qui suit soit:

Range("J..activecell:J" & derli) etc.


For Each Cell In Range("J21:J" & derli)
Cell.Formula = "=F21 + G21"
Activecell.Select
Selection.AutoFill Destination:=Range("J21:J" & derli)
Next
etc.

End sub

Auriez-vous une idée ?

Merci

Denys
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
denys59.p
Le #26454893
Bonjour Denis,
Excellent, merci... Voici ce que c'est devenu
For Each C In Range(Cells(ActiveCell.Row, ActiveCell.Column), _
Cells(derli, ActiveCell.Column))
C.FormulaR1C1 = "=RC[-4]+RC[-3]"
Next
Ca fonctionne comme un charme !!!
Merci beaucoup
Denys
Michd
Le #26454900
Une autre manière de procéder afin d'éviter la boucle si la plage est
importante :
'-----------------------------
Dim DerLig As Long, C As Range, Rg As Range
DerLig = 50 'Une valeur pour les besoins de la démontration.
Set Rg = Range(Cells(ActiveCell.Row, ActiveCell.Column), _
Cells(DerLig, ActiveCell.Column))
Rg.Formula = "=Sum(" & Rg(1).Offset(-4).Address(0, 0) & _
"+" & Rg(1).Offset(-3).Address(0, 0) & ")"
'-----------------------------
MichD
Publicité
Poster une réponse
Anonyme