XL 2019 Créer un bouton pour recopier facilement une formule dans toute la colonne qui n'a pas de fin

Guillaumeg3

XLDnaute Junior
Supporter XLD
Bonjour à tous,

Voilà je travail sur une base de données faite sous excel et au fur et mesure cette base de données contient près d'une dizaine de milliers de ligne avec une 60 de colonnes contenant des formules différentes.
Il m'est impossible à chaque fois quand je change la formule en L2 par exemple de le dérouler sur toute la colonne, le fichier ralenti voir bug.
J'ai essayé les méthodes de ctr bas + Ctr maj B mais cette dernière m'ammène à la celulle 1000455.... et bien sûr rien ne marche.
Est il possible sous VBA de créer un bouton qui dit en sélectionnant par exemple L2 ou autre de copier la formule de cette case dans toute sa colonne dont la case C est non vide?

Merci de votre aide
 

patty58

XLDnaute Occasionnel
Bonjour Guillaume,

Si j'ai bien compris, tu peux peut-être essayer de mettre cela dans ton bouton :
VB:
Sub RecopieFormule()
    CellActive = ActiveCell.Address
    If MsgBox("Etes-vous sûr de vouloir recopier la formule de " & CellActive & "?", vbYesNo, "ATTENTION") = vbYes Then
        Col = Split(ActiveCell.Address, "$")(1)
        DLig = Range(Col & "65536").End(xlUp).Row
        Range(CellActive).Copy
        For i = ActiveCell.Row To DLig
            Range(Col & i & ":" & Col & DLig).Select
            Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
                SkipBlanks:=False, Transpose:=False
        Next
    End If
End Sub

Dis moi si cela te convient.
 

Phil69970

XLDnaute Barbatruc
Bonjour à tous

Une autre version

VB:
Sub CopieFormule()
Dim Derlig&
Application.ScreenUpdating = False
Derlig = Worksheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row '<== ici le nom de la feuille et la colonne A est à adapter
With Sheets("feuil1") '<== a adapter
    Derlig = .Range("B" & Rows.Count).End(xlUp).Row
    .Range("L2:N" & Derlig).FillDown 'Colonne L,M et N pour mes tests à adapter
End With
End Sub

*Sur mon PC, 3 colonnes matricielles et 60 000 lignes il a fallu 5 s 41

*Merci de ton retour

@Phil69970
 

Guillaumeg3

XLDnaute Junior
Supporter XLD
Bonjour à tous

Merci @Hasco , je vais me plonger dans le tuto;

Merci @patty58, j'ai essayé d'adapter ta formule sans success après mes cours de macro remonte loin...😅
Pour la case C c'était juste pour dire de ne pas aller jusqu'à la case 1million... car c'est la seul case rempli tout au long de ma colonne

Merci @Phil69970 , cela marche impec même si je comprends pas pourquoi la formule s'est arrêter juste un peu avant avant la fin...
J'ai compris comment l'adapter à mes colonne mais il m'est venu l'idée de simplifier le process en disant depuis la case T2 jusqu'à DM2 si la case contient une formule alors la développer dans toute sa colonne les formules présente en 2
 

TooFatBoy

XLDnaute Barbatruc
C'est vrai que j'ai lu un peu ... en travers la question en zappant la fin mais il faut dire que c'est pas commode non plus avec un fichier invisible !! 🤣
Ben apparemment tu as bien fait car il n'y avait en fait pas d'histoire de "case C vide"... c'était juste un piège pour compliquer l'énnoncé. 🤣

Moi aussi c'est l'idée du tableau structuré qui me vient en tête de suite quand je lis la question. 👍
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16