Problème de formule dans un code

  • Initiateur de la discussion Initiateur de la discussion Cougar
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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

Dernière édition:
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:
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.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
17
Affichages
2 K
Réponses
2
Affichages
495
Retour