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

VBA - Étirer formule vers le bas = F2+Enter

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

Fredox

XLDnaute Occasionnel
Bonjour,
J'ai mis en place ces formules pour étirer vers le bas les formules présentes en ligne 6, entre Q et V.
Si étendre le formule à bien fonctionné, en revanche il affiche le résultat de la ligne 6 dans toutes les lignes suivantes.
Je suis obligé de revalider chaques cellules (F2+Enter) pour que le bon résultat s'affiche.

Y aurait-il une solution pour directement avoir mon résultat ?

Code:
Range("Q6:Q" & Range("c65536").End(xlUp).Row).Value = Range("Q6").Formula
Range("R6:R" & Range("c65536").End(xlUp).Row).Value = Range("R6").Formula
Range("S6:S" & Range("c65536").End(xlUp).Row).Value = Range("S6").Formula
Range("T6:T" & Range("c65536").End(xlUp).Row).Value = Range("T6").Formula
Range("U6:U" & Range("c65536").End(xlUp).Row).Value = Range("U6").Formula
Range("V6:V" & Range("c65536").End(xlUp).Row).Value = Range("V6").Formula


Merci
 
Bonjour

Deux façons de faire
VB:
Sub test()
Dim formule As String
formule = "=ROW()*COLUMN()"
Range("Q6:Q" & Cells(Rows.Count, 3).End(xlUp).Row).Formula = "=ROW()*COLUMN()"
Range("R6:R" & Cells(Rows.Count, 3).End(xlUp).Row).Formula = formule
End Sub
 
Re

Ci-dessous autre exemple
(à tester sur une feuille vierge)
VB:
Sub test2()
Dim Derlig As Long ' ce qui sert
'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
'les lignes ci-dessous ne servent qu'à insérer des formules pour test
Range("C6:C17") = 1
Range("Q6:V6") = Array("=NOW()+RAND()", "=INT(ROW()*PI())", "=INT(COLUMN()/PI())*ROW()", "=4*2*5*10*2*2", "=LOG(ROW())", "=ROW()*2")
'////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Derlig = Range("c65536").End(xlUp).Row ' ce qui sert
Range("Q6:V" & Derlig).FillDown 'ce qui sert
End Sub
 
Bonjour Staple1600,
Je viens de tester la deuxième version, le problème reste le même, il étire bien la formule mais affiche le contenu identique à la cellule étirée. Une fois fait F2+Enter, le bon résultat s'affiche.
 
Bonjour le fil, Fredox

•>Fredox
Regardes dans tes Options Excel, si Calcul Automatique est bien coché.

Sur mon PC, le code que je t'ai proposé fonctionne
(sinon je ne l'aurai pas posté sur le forum... 🙄)
 
Staple1600,

Pour la version 1 le résultat ne correspond pas puisque la formule n'est pas la bonne.
En revanche c'est peut-être une bonne piste, au lieu d'étirer la formule est-ce que je peux la ressaisir ?

Ma formule originale est: " =si(et(N6=100%);H6="OK";L6;"") "
Comment remplacer les N, H et L par dernLigne ?

Merci encore.
 
Re

Comme j'ai pris le temps de refaire un exemple
(plutôt que de jeter, je poste)
VB:
Sub Test_3()
Dim Derlig As Long
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
Randomize 1600
Rows("7:777").Clear
Range("C6:C" & Application.RandBetween(16, 27)) = "=""Staple""&1600+ROW()"
Range("Q6:V6") = Array("=INT(RAND()*1600)", "=INT(ROW()*PI())", "=INT(COLUMN()/PI())*ROW()", "=4*2*5*10*2*2", "=LOG(ROW())", "=ROW()*2")
Derlig = Cells(Rows.Count, 3).End(xlUp).Row
Range("Q6:V" & Derlig).FillDown
[Q6].CurrentRegion.Columns.AutoFit
Cells(Derlig, 3).Font.Bold = -1
Rows(Derlig).SpecialCells(xlCellTypeFormulas, 3).Interior.Color = vbYellow
End Sub
PS: Regarde la ligne qui pourra te servir concernant le calcul automatique.

Freedox à dit:
Pour la version 1 le résultat ne correspond pas puisque la formule n'est pas la bonne.
NB: Les codes que je t'ai proposés (en prenant soin de le préciser) ne sont que des codes de test.
Donc à tester sur une feuille vierge.
 
Re

•>Freedox
C'est dingue que mes messages ne soient pas lu attentivement.
😱
Epuisé à force de répéter¸ Staple¸ le teint blême à dit:
NB: Les codes que je t'ai proposés (en prenant soin de le préciser) ne sont que des codes de test.
Donc à tester sur une feuille vierge.
Ce qui veut dire que leur seule utilité est illustrative et/ou "pédagogique".
Ni plus, ni moins.
🙄
 
- 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
7
Affichages
798
Réponses
1
Affichages
1 K
H
Réponses
19
Affichages
6 K
  • Question Question
Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…