Formules VBA pour créer des colonnes [Résolu]

GillesBIGBOY - 25 sept. 2017 à 10:34 - Dernière réponse :  GillesBIGBOY
- 28 sept. 2017 à 14:29
Bonjour,

J'ai un petit souci avec des formules VBA.
je veux créer deux colonnes dans lequel j'applique 2 formules sur toute la colonne mais le probléme est que celame prends beaucoup de temps pour l'ouverture, comme pour la fermeture.
serait-il possible d'améliorer la formule pour gagner du temps?

MERCI




Sub Macro2Colonnes()
'
' Macro pour la création de colonne

'
Columns("C:C").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("C1").Select
ActiveCell.FormulaR1C1 = "Catégorie"
Columns("D:D").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("D1").Select
ActiveCell.FormulaR1C1 = "Sous Catégorie"
Range("D2").Select
Columns("D:D").ColumnWidth = 14.86
Range("C2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-1],'C:\Users\gboubou\Desktop\Gilles-automatisation.xlsm]Base comptable'!C1:C3,3,FALSE),""0"")"
Range("C2").Select
Selection.AutoFill Destination:=Range("C2:C34049")
Range("C2:C34049").Select
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=IFERROR(VLOOKUP(RC[-2],'C:\Users\gboubou\Desktop\Gilles-automatisation.xlsm]Base comptable'!C1:C4,4,FALSE),""0"")"
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D34049")
Range("D2:D34049").Select

End Sub
Afficher la suite 

2 réponses

Répondre au sujet
f894009 12541 Messages postés dimanche 25 novembre 2007Date d'inscription 11 décembre 2017 Dernière intervention - 25 sept. 2017 à 13:52
+1
Utile
1
Bonjour,
'en debut
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
.

'en fin
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de f894009