Je sollicite votre aide, Je ne trouve pas de réponse claire à ce pb:
J'ai un fichier de tres gde longueur (souvent plus de 40000 lignes)
je souhaite en VBA apliquer une formule dans la 1ere case d'une colonne
(ex: en C additionner A et B) comme dans le fichier joint.
La solution que j'ai trouvée fonctionne,
en VBA, je teste la présence d'une valeur dans la colonne d'a coté, pour vérifier si je suis en bas du fichier.
mais avec 2 inconvénients.
Sur un fichier de tres gde longueur, c'est trèèèèèèèèèèèès lonnnnnnnnnnnng !
(les formules sont beaucoup plus complexes que dans l'exemple !)
Si la colonne de réference contient une case vide, la macro s'arrète accidentellement.
Quelqu'un a-t-il une solution ou idée qui pourrait ètre plus rapide (avec Xldown, je recopie jusqu'à la fin de la feuille,donc au dela de la fin du fichier et cela ne me convient pas.
Re : recopier une formule vers le bas sur une col de longueur variable
Bonsoir OldZebra,
Avec ton exemple:
Code:
Sub Testformula()
Dim derLigne As Long
Dim plage As Range
With Sheets("Feuil1")
derLigne = .Range("A" & .Rows.Count).End(xlUp).Row
Set plage = .Range("C1:C" & derLigne)
plage.FormulaR1C1 = "=RC[-2]+RC[-1]"
End With
End Sub
Re : recopier une formule vers le bas sur une col de longueur variable
Bonsoir,
Re, décidément, Hasco, pas la forme, moi, aujourd'hui.....
Edit : Hasco, son code est dans Feuil1....
Tant pis, je mets mon code...
Code:
Sub recopie()
Dim DerLig As Long
DerLig = Range("A:B").Find("*", , , , xlByRows, xlPrevious).Row
Range("C1:C" & DerLig).FormulaR1C1 = "=RC[-2]+RC[-1]"
End Sub
Re : recopier une formule vers le bas sur une col de longueur variable
Salut vieux zebre
Bonsoir le fil
bonsoir le Forum
On pourrait aussi utiliser cette méthode
Code:
Sub test()
Dim DerLigne As Long
With Worksheets("Feuil1")
DerLigne = .Range("A65536").End(xlUp).Row
.Range("C1") = "=Sum(A1:B1)"
.Range("C1").[COLOR=Red]AutoFill [/COLOR].Range("C1:C" & DerLigne), xlFillDefault
End with
End Sub
Re : recopier une formule vers le bas sur une col de longueur variable
Hasco,BhBh, Staple1600, et Cti160, merci à vous 4
toutes vos solutions fonctionnent, ! je me sent humble, et il va me faloir 2 ou 3 jours pour en digèrer le code,
je suis séduit par l'élégance de vos solutions
qui ne montent pas "des usines à gaz"
Je vais tester et essayer de comprendre tout celà, en fait "usedRange" me donne des idées pour autre chose...
merci encore à tous.