Tirer une formule jusqu'à la dernière ligne, dans une macro

Résolu/Fermé
gexelpas - 7 févr. 2020 à 07:56
M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 - 9 janv. 2021 à 13:55
Bonjour,

Je souhaite intégrer un code dans VBA, qui permette de copier/coller la formule dans la cellule D1, dans toutes les cellules de la colonne D, jusqu'à la dernière ligne contenant une valeur dans la colonne A.

Merci d'avance pour votre aide !
gexelpas
A voir également:

2 réponses

M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299
7 févr. 2020 à 08:54
Bonjour,
Voici un exemple avec recopie de la formule

https://mon-partage.fr/f/qbJPFV4p/
1
Bonjour M-12,
Merci pour cette réponse et le fichier test, qui fonctionne très bien.
J'ai essayé de retranscrire le code dans mon module, mais la macro bug dessus, indiquant "Erreur d'exécution 6: Dépassement de capacité"....
Pour précision, l'onglet sur lequel la formule doit être tirée, comporte toujours plus de 100 000 lignes...
Y'a t-il une parade ?

voilà comment j'ai intégrer ton code à la formule que je souhaite tirer.

Merci d'avance !

Dim F As String
Dim D2 As Integer
D2 = Sheets("Originelle (2)").Range("A" & Rows.Count).End(xlUp).Row
F = "=IF(OR(RC[31]=""SALES REGULAR"",RC[31]=""SALES DEMO/USED""),IF(OR(RC[5]=""Budget2019"",RC[5]=""Budget2020""),""No"",IF(RC[16]=""TK"",""No"",IF(RC[-1]=""US"",""No"",IF(OR(RC[45]<>0,RC[40]<>0),""Yes"",IF(OR(RC[30]=""ACCESSORIES"",RC[30]=""CREDIT"",RC[30]=""DIN"",RC[30]=""SERVICE""),""No"",""Yes""))))),""No"")"
Range("D2").Formula = F
Range("D2").AutoFill Destination:=Range("D2:D" & D2), Type:=xlFillDefault
0
M-12 Messages postés 1333 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 299 > gexelpas
9 janv. 2021 à 13:55
Re,

Il ne faut pas confondre DL (pour Dernière Ligne) et D2, tu prend en Variable une adresse de cellule (D2)
Dim F As String
Dim DL As Integer
DL = Sheets("Originelle (2)").Range("A" & Rows.Count).End(xlUp).Row
F = "=IF(OR(RC[31]=""SALES REGULAR"",RC[31]=""SALES DEMO/USED""),IF(OR(RC[5]=""Budget2019"",RC[5]=""Budget2020""),""No"",IF(RC[16]=""TK"",""No"",IF(RC[-1]=""US"",""No"",IF(OR(RC[45]<>0,RC[40]<>0),""Yes"",IF(OR(RC[30]=""ACCESSORIES"",RC[30]=""CREDIT"",RC[30]=""DIN"",RC[30]=""SERVICE""),""No"",""Yes""))))),""No"")"
Range("D2").Formula = F
Range("D2").AutoFill Destination:=Range("D2:D" & DL), Type:=xlFillDefault
0