Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Bonjour à tous
La macro pourrait ressembler à ceci
VB:
Sub calcul()
With Feuil1.Range("AW2:aw" & Feuil1.Cells.Find("*", , , , xlByRows, xlPrevious).Row)
.Formula = "=l2*au2/g2"
.Value = .Value
End With
End Sub
Petite question afin d'aider au mieux, est-ce que le nombre de lignes est variable ou restera-t-il à 170 000 ?
Aussi, est-ce qu'il y a plusieurs feuilles ?
Si oui, quelle est le nom de celle sur laquelle vous souhaitez travailler ?
Bonjour à tous
La macro pourrait ressembler à ceci
VB:
Sub calcul()
With Feuil1.Range("AW2:aw" & Feuil1.Cells.Find("*", , , , xlByRows, xlPrevious).Row)
.Formula = "=l2*au2/g2"
.Value = .Value
End With
End Sub
et pourquoi ne pas mettre directement une formule dans la colonne ??
sinon
VB:
Sub test()
Dim TabData() As Variant
With ActiveSheet
fin = .Range("AV" & .Rows.Count).End(xlUp).Row
TabData = .Range("A1:AW" & fin).Value
For i = LBound(TabData, 1) + 1 To UBound(TabData, 1)
TabData(i, 49) = TabData(i, 12) * TabData(i, 47) / TabData(i, 7)
Next i
.Range("A2:AW" & fin) = TabData
End With
End Sub
Voici une simple formule retranscrite en VBA qui s'adaptera au nombre de lignes présentes en G.
VB:
Sub ProduitEtDivision()
Dim dl As Long
dl = ActiveSheet.Cells(Application.Rows.Count, 7).End(xlUp).Row
ActiveSheet.Range("AW2:AW" & dl).FormulaR1C1 = "=RC12*RC47/RC7"
End Sub
Sub test()
Dim TabData() As Variant
With ActiveSheet
'fin = .Range("AV" & .Rows.Count).End(xlUp).Row
fin = .UsedRange.Rows.Count
TabData = .Range("A1:AW" & fin).Value
For i = LBound(TabData, 1) + 1 To UBound(TabData, 1)
TabData(i, 49) = TabData(i, 12) * TabData(i, 47) / TabData(i, 7)
Next i
.Range("A1:AW" & fin) = TabData
End With
End Sub
Perso, je trouve bizarre d'avoir besoin d'un code pour ecrire une formule aussi simple....
en manuel (sans vba) il suffirait
1) d'écrire la formule en AW2
2) double clic sur le coin inférieur droit de la cellule AW2 pour que la formule soit recopiée jusqu'en bas..
Bonjour,
Le faire en vba n'est pas plus rapide que mettre le formule directement dans la colonne ... pas compris l'intérêt mais après il a peut-être une contrainte pour éviter que les gens modifient ...
[edit] ps : pense à passer le post qui répond le mieux à ta demande comme étant la solution (coche ronde dans la colonne grise à droite du post concerné)
- 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