Problème de formule dans un code

Cougar

XLDnaute Impliqué
Bonsoir le forum,

J'ai une ligne de code qui insère une formule : ActiveCell.FormulaR1C1 = "=IF(RC[-3]>0,RC[-1]/RC[-3],"""")".

Cette formule est copiée dans la colonne J, M et P.

Mon problème est que le RC[-3] n'est pas bon car je dois avoir comme référence la colonne G. Si je suis sur la colonne M mes valeurs ne sont pasbonne.

Avec l'enregisteur de macro cela me donne : ActiveCell.FormulaR1C1 = "=RC[-1]/R4C7" mais je dois insérer la formule qui fait référence à la colonne G.

Comment écrire la ligne de code pour que si je suis en M4 la formule calcule L4/G4, M5 la formule calcule L5/G5, P4 = O4/G4 ?

Merci
 

Pièces jointes

  • Test.xlsm
    102.8 KB · Affichages: 21
  • Test.xlsm
    102.8 KB · Affichages: 20
  • Test.xlsm
    102.8 KB · Affichages: 21
Dernière édition:

Cougar

XLDnaute Impliqué
Re : Problème de formule dans un code

Boujour à tous,

Fonction mais m'oblige à écrire dans toutes les colonnes : colonne M = "L4/G4" mais pour colonne P ="O4/G4". Je ne peux utiliser un boucle.

Voici ma boucle
Do Until ActiveCell.Offset(0, -1) = ""
ActiveCell.EntireColumn.Insert
ActiveCell.Offset(1, 0).Activate
ActiveCell = "Reste"
ActiveCell.Offset(1, 0).Activate
ActiveCell.FormulaR1C1 = "=RC[-3]-RC[-1]"
ActiveCell.Copy
Range(ActiveCell, ActiveCell.Offset(400)).Select
With Selection
Worksheets("Matières Premières").Paste
End With
ActiveCell.Offset(-1, 1).Activate
ActiveCell.EntireColumn.Insert
ActiveCell = "Reste de semaines"
With Selection
.HorizontalAlignment = xlCenter
.VerticalAlignment = xlBottom
.WrapText = True
.Orientation = 0
.AddIndent = False
.IndentLevel = 0
.ShrinkToFit = False
.ReadingOrder = xlContext
.MergeCells = False
End With
ActiveCell.Offset(1, 0).Activate

'problème formule
ActiveCell.FormulaR1C1 = "=IF(RC[-3]>0,RC[-1]/RC[-3],"""")" 'modifier cette formule
ActiveCell.Copy
Range(ActiveCell, ActiveCell.Offset(400)).Select
With Selection
Worksheets("Matières Premières").Paste
End With
ActiveCell.Offset(-2, 2).Activate
Loop

Merci
 
Dernière édition:

Cougar

XLDnaute Impliqué
Re : Problème de formule dans un code

Bonjour à tous

Voici le fichier.

Merci
 

Pièces jointes

  • Test.xlsm
    102.8 KB · Affichages: 30
  • Test.xlsm
    102.8 KB · Affichages: 32
  • Test.xlsm
    102.8 KB · Affichages: 35
Dernière édition:

chreitate

XLDnaute Junior
Re : Problème de formule dans un code

Bonjour,
Je cherche une formule qui me permet de classer par groupe les données aprtenant aux 3 colonnes :

colonnne A : varie entre 0 et 100
colonne B : varie entre 0 et 100
colonne C : varie entre 0 et 1000

les signes < et > designent supérieur et inférieur
Groupe 1 : si A > ou = 28, B < ou = 84, C > ou = 600
Groupe 2 : si A> ou = 28, B> ou = 84, 400< C < 600
Groupe3 : si A> ou = 28, B> 84, C> 400
Groupe4 : si A > ou = 28, B > 84, 100< C < ou = 400
Groupe5 : si A > ou = 28, B> 84, C < 100
Groupe6 : si A> ou = 28, B < ou = 84, C < 400

Merci d'avance.
 

Cougar

XLDnaute Impliqué
Re : Problème de formule dans un code

Bonjour à tous,

J'ai essayé : ActiveCell = "=IF(g3>0,RC[-1]/g3,"""")"
mais dans cellule cela donne : =SI('g3'>0;I3/'g3';"")
mais devrait être : =SI(g3>0;I3/g3;"").

Des idées ?

Merci
 

Discussions similaires

Réponses
17
Affichages
1 K

Statistiques des forums

Discussions
312 316
Messages
2 087 172
Membres
103 490
dernier inscrit
zatougraf