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

une formule pour x cellules

  • Initiateur de la discussion Initiateur de la discussion toubib
  • 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 !

T

toubib

Guest
bonjour à tous,

je cherche à savoir comment faire pour incrémenter une formule identique à plusieurs cellules sans refaire quinze mille fois le même code en changeant uniquement le range parce que ca prend beaucoup de place

ex: au lieu d'avoir:
Range('ce2').Select
ActiveCell.FormulaR1C1 = _
'=IF(RC[-78]/RC52=1,100,IF(RC52/RC[-78]<>0,(RC[-78]/RC52)*100,''''))'
Range('ce3').Select
ActiveCell.FormulaR1C1 = _
'=IF(RC[-78]/RC52=1,100,IF(RC52/RC[-78]<>0,(RC[-78]/RC52)*100,''''))'
Range('ce4').Select
ActiveCell.FormulaR1C1 = _
'=IF(RC[-78]/RC52=1,100,IF(RC52/RC[-78]<>0,(RC[-78]/RC52)*100,''''))'
jusqu'à ce20, la seule chose changeant étant juste le range.



j'aimerais pouvoir avoir une formule unique pour tous mes range concernées et j'avais pensé que cela marcherait:
Range('ce2:ce' & nb).Select
ActiveCell.FormulaR1C1 = _
'=IF(RC[-78]/RC52=1,100,IF(RC52/RC[-78]<>0,(RC[-78]/RC52)*100,''''))'

le problème étant que comme cela, ça ne marche pas alors qu'est ce qui ne va pas dans ce code? sachant que nb est déjà calculé

merci 🙂
 
bon ben je comprends pas finalement je viens de réessayer et ce coup la ca marche donc moralité j'ai une nouvelle question 🙂

comment peux t'on faire pour faire la même chose avec une recherchev() ou seules changent les range et les valeurs des colonnes
ex:
ActiveCell.FormulaR1C1 = _
'=VLOOKUP(''sheets1'',R6C1:R500C69,3,0)'
ActiveCell.Offset(0, 1).Select
ActiveCell.FormulaR1C1 = _
'=VLOOKUP(''sheets1'',R6C1:R500C69,4,0)'

jusqu'à 60

une formule du genre
range('a1:x1').select
selection.formulaR1C1='=vlookup(''sheets1'',r6c1:r500c69,1-24,0)'

vous pensez que c'est possible pour un lookup?
 
Salut toubib,

Pourquoi ne tire tu pas simplement ta formule vers les bas...

En code ça donne :


Range('ce2').Select
ActiveCell.FormulaR1C1 = _
'=IF(RC[-78]/RC52=1,100,IF(RC52/RC[-78]<>0,(RC[-78]/RC52)*100,''''))'

Range('CE2').Select
Selection.AutoFill Destination:=Range('CE2:CE100'), Type:=xlFillDefault


Juste une précision si tu as des cellules qui sont des constantes il ne faut pas oublier de mettre des $ . qui se traduisent en VBA par des [] enfin je crois.


@+ Laurent
 
salut,

ben en fait tu ne peux pas les incrémenter comme ça parce que cela ne te modifie pas le n° de la colonne et c'est ça qui m'intéresse!

et pour les $ en fait il ne faut justement pas de [], c'est plutôt $a$1=R1C1, quand tu as des [] c'est pour que tes cellules changent en fonction de la cellule où tu as ta formule genre R[2]C[2] donne e4 si tu la cellule ou tu es est b2 ou g6 si tu es en e4



merci qd même
 
finalement moi pas comprendre la formule ne marche plus alors je repose ma question (j'avais du garder d'ancien paramètre sans mettre les nouveaux me faisant croire que ca avait marché :s)
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
9
Affichages
1 K
J
Réponses
22
Affichages
3 K
jui42
J
Réponses
13
Affichages
2 K
B
  • Question Question
Microsoft 365 colorer une plage
Réponses
2
Affichages
970
bd.afaf
B
B
Réponses
2
Affichages
1 K
V
Réponses
2
Affichages
2 K
vynmarius
V
C
Réponses
5
Affichages
2 K
Charles78
C
C
Réponses
23
Affichages
4 K
Charles78
C
K
Réponses
0
Affichages
719
K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…