Macro - Formule répétée puis collé-valeur

Résolu
Sirithhyando Messages postés 55 Statut Membre -  
Sirithhyando Messages postés 55 Statut Membre -
Bonjour,

J'aurais besoin de votre aide.
J'ai fais une macro simple :
Sub dup_formule()
Dim dernligne As Long
'
' dup_formule Macro
'
' Touche de raccourci du clavier: Ctrl+a
'
dernligne = Range("B" & Rows.Count).End(xlUp).Row
Range("A2").AutoFill Destination:=Range("A2:A" & dernligne), Type:=xlFillDefault
Range("D2").AutoFill Destination:=Range("D2:D" & dernligne), Type:=xlFillDefault

End Sub

Elle fonctionne bien, mais disons que la dernière ligne est à 17021 alors ça augmente le nombre de formule drastiquement et le fichier excel devient inutilisable.

Après quelques recherche, la solution semble être de modifier la macro afin qu'elle colle le résultat de la formule plutôt que d'inscrire la formule comme tel.

Ceci-dit, je n'ai aucune idée comment faire.

En passant, j'ai pu faire la macro plus haut par les nombreuses aides que j'ai reçu de votre part dans le passé et vous en remercie beaucoup.

À bientôt

1 réponse

  1. julia Namor Messages postés 532 Statut Membre 33
     
    Bonjour
    Voila une Une solution

    Sub Bouton1_Cliquer()

    Dim dernligne As Long
    '
    ' dup_formule Macro
    '
    ' Touche de raccourci du clavier: Ctrl+a
    '
    dernligne = Range("B" & Rows.Count).End(xlUp).Row
    Range("A2").AutoFill Destination:=Range("A2:A" & dernligne), Type:=xlFillDefault
    Range("D2").AutoFill Destination:=Range("D2:D" & dernligne), Type:=xlFillDefault
    Range("A2:A" & dernligne).Value = Range("A2:A" & dernligne).Value
    Range("D2:D" & dernligne).Value = Range("D2:D" & dernligne).Value
    End Sub


    bien cordialement
    1
    1. julia Namor Messages postés 532 Statut Membre 33
       
      Sub Bouton1_Cliquer()

      Dim dernligne As Long
      '
      ' dup_formule Macro
      '
      ' Touche de raccourci du clavier: Ctrl+a
      '
      dernligne = Range("B" & Rows.Count).End(xlUp).Row
      Range("A2").AutoFill Destination:=Range("A2:A" & dernligne), Type:=xlFillDefault
      Range("D2").AutoFill Destination:=Range("D2:D" & dernligne), Type:=xlFillDefault
      Range("A2:A" & dernligne).Formula = Range("A2:A" & dernligne).Value
      Range("D2:D" & dernligne).Formula = Range("D2:D" & dernligne).Value
      End Sub
      0
    2. Sirithhyando Messages postés 55 Statut Membre 1
       
      Excellent! Ça fonctionne très bien.
      Merci beaucoup
      0