Microsoft 365 Amélioration d'un code

Stéfane

XLDnaute Occasionnel
Bonjour à tous,

J'ai actuellement le code ci-dessous qui me permet d'afficher des onglets masqués, d'ouvrir un second classeur pour copier coller des données de celui-ci dans le classeur actif (2 onglets cachés + 1 visible dans le classeur actif, dans le second classeur les onglets sont visibles). Une fois fait le second classeur se ferme sans sauvegarder.
Je voulais savoir si il y avait possibilité d'améliorer mon code et ainsi rendre cette opération plus rapide.
J'ai indiqué les numéros des onglets et non des feuilles.

Merci d'avance pour votre aide.

VB:
Sub Importer_Données_second_classeur()

With Application
        .StatusBar = "Imporation et calculs"
        .ScreenUpdating = False
        .EnableEvents = False
        .Calculation = xlCalculationManual
End With
Application.ScreenUpdating = False

On Error Resume Next

Workbooks.Open ("C:\Users\....." & X.xlsm")

Dim wa As Workbook, wb As Workbook, wc As Worksheet, wd As Worksheet, we As Worksheet, wf As Worksheet, wg As Worksheet, wh As Worksheet, sh As Variant
Set wa = ThisWorkbook
Set wb = Workbooks("Classeur1.xlsm")
Set wc = ThisWorkbook.Worksheets("Onglets2")
Set wd = ThisWorkbook.Worksheets("Onglets4")
Set we = ThisWorkbook.Worksheets("Onglets10")
Set wf = wb.Worksheets("Onglets2")
Set wg = wb.Worksheets("Onglets4")
Set wh = wb.Worksheets("Onglets10")

For Each sh In Array(wc, wd)
       sh.Visible = True
    Next sh

wf.[A1:BC20000].Copy Destination:=wc.[A1]
wg.[A1:K20000].Copy Destination:=wd.[A1]
wh.[B5:K500].Copy Destination:=we.[B5]

Application.CutCopyMode = False

wb.Close SaveChanges:=False

For Each sh In Array(wc, wd)
        sh.Visible = False
    Next sh

Application.ScreenUpdating = True
With Application
        .StatusBar = ""
        .ScreenUpdating = True
        .EnableEvents = True
        .Calculation = xlCalculationAutomatic
End With
 

Hasco

XLDnaute Barbatruc
Repose en paix
Bonjour,

Toutes les fonctions sont regroupées dans l'onglet de ruban "Données/Obtenir des données" les fonctions d'importation et de transformation de power query sont puissantes et méritent qu'on y passe un peu de temps de prise en main.

Cordialement
 

Stéfane

XLDnaute Occasionnel
Merci pour votre aide, je regarde à cela.
Le but initial de mon code est qu'il soit lancé automatiquement (dans ThisWorkbook) à l'ouverture du classeur pour importer des données qui ont préalablement été sauvegardées suite à des actions effectuées dans le classeur. (j'ai d'autres codes qui réalises un fichier de sauvegarde de certains onglets).
 

Discussions similaires

Réponses
2
Affichages
98
Réponses
17
Affichages
249