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

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
 

Staple1600

XLDnaute Barbatruc
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
 

Staple1600

XLDnaute Barbatruc
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
 

Fredox

XLDnaute Occasionnel
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.
 

Fredox

XLDnaute Occasionnel
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.
 

Staple1600

XLDnaute Barbatruc
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.
 

Staple1600

XLDnaute Barbatruc
Re

•>Freedox
C'est dingue que mes messages ne soient pas lu attentivement.
:eek:
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.
:rolleyes:
 

Discussions similaires

Réponses
7
Affichages
486
Réponses
7
Affichages
623
Réponses
1
Affichages
1 K

Statistiques des forums

Discussions
314 422
Messages
2 109 447
Membres
110 482
dernier inscrit
ilyxxxh