Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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 à tous,

Avec ton fichier, expurgé de toutes données confidentielles, il serait plus simple de tenter de t'aider.

A+ à tous
 
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.
 
Re : Problème de formule dans un code

bonjour Chreitate

bienvenue sur le forum
mais ouvre un autre post au lieu de t’immiscer dans un autre où tu risque beaucoup de ne pas avoir de réponse

Pascal
 
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
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…