Insertion d'une formule dans une cellule qui s'adapte à la ligne en question

lelectricien

XLDnaute Junior
Bonjour,

En vba, je voudrais insérer une formule dans une cellule, mais que cette formule s'adapte automatiquement à la ligne en question;
Sauf que si j'écris "=C3*B3" et que l'action se passe à la ligne 5, je voudrais que la formule devienne "=C5*B5"

Voici mon exemple en annexe.

Pour info,
j'arrive à faire autrement en écrivant la formule en vba dans mon exemple, mais je cherche vraiment une solution en gardant le principe de recopier la formule vers la cellule.

Existe-t-il une méthode?

D'avance merci.
 

Pièces jointes

  • test1.xlsm
    16.4 KB · Affichages: 33
  • test1.xlsm
    16.4 KB · Affichages: 35
  • test1.xlsm
    16.4 KB · Affichages: 32

Dranreb

XLDnaute Barbatruc
Re : Insertion d'une formule dans une cellule qui s'adapte à la ligne en question

Bonsoir.

Au lieu de .FormulaLocal = "=$D3*$E3"
utilisez .FormulaR1C1 = "=RC4*RC5"

Remarque: Un peu bizarre de faire ça dans une Worksheet_SelectionChange. J'aurais mieux vu ça :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 2 Or Target.Count <> 1 Then Exit Sub
Application.EnableEvents = False
If IsEmpty(Target.Value) Then
   Target.Offset(, 1).Value = Empty
Else
   Target.Offset(, 1).FormulaR1C1 = "=RC4*RC5"
   End If
Application.EnableEvents = True
End Sub
 
Dernière édition:

Discussions similaires

Réponses
2
Affichages
144

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35