Dans le code suivant, comment remplacer J21 par Active cell ?
Sub AjoutTotal()
Dim Cell As Range
derli =3D Cells(Rows.Count, "I").End(xlUp).Row
Columns("J:J").Select
Selection.Find(What:=3D"MTL", After:=3DActiveCell, LookIn:=3DxlValu=
es _
, LookAt:=3DxlWhole, SearchOrder:=3DxlByRows, SearchDirection:=3Dxl=
Next, _
MatchCase:=3DFalse, SearchFormat:=3DFalse).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.... =20
For Each Cell In Range("J21:J" & derli)
Cell.Formula =3D "=3DF21 + G21"
Activecell.Select
Selection.AutoFill Destination:=3DRange("J21:J" & derli)
Next
etc.......
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
denys59.p
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
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 !!!
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
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
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.
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