Macro - Formule répétée puis collé-valeur [Résolu]

Sirithhyando 49 Messages postés mercredi 16 avril 2014Date d'inscription 9 février 2018 Dernière intervention - 8 févr. 2018 à 15:15 - Dernière réponse : Sirithhyando 49 Messages postés mercredi 16 avril 2014Date d'inscription 9 février 2018 Dernière intervention
- 9 févr. 2018 à 18:13
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
Afficher la suite 

3 réponses

Répondre au sujet
julia Namor 358 Messages postés jeudi 27 mars 2014Date d'inscription 14 février 2018 Dernière intervention - 8 févr. 2018 à 20:47
+1
Utile
2
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
julia Namor 358 Messages postés jeudi 27 mars 2014Date d'inscription 14 février 2018 Dernière intervention - 8 févr. 2018 à 21:54
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
Sirithhyando 49 Messages postés mercredi 16 avril 2014Date d'inscription 9 février 2018 Dernière intervention - 9 févr. 2018 à 18:13
Excellent! Ça fonctionne très bien.
Merci beaucoup
Commenter la réponse de julia Namor