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

Résolu
gexelpas -  
M-12 Messages postés 1349 Statut Membre -
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

2 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     
    Bonjour,
    Voici un exemple avec recopie de la formule

    https://mon-partage.fr/f/qbJPFV4p/
    1
    1. gexelpas
       
      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
      1. M-12 Messages postés 1349 Statut Membre 285 > gexelpas
         
        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