Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
 

Hasco

XLDnaute Barbatruc
Repose en paix
Re,

Non elles restent, s'il y a des chemins, il faudra peut-être les paramétrer mais c'est pas grand chose à faire.
Lancez-vous et vous verrez. Revenez avec vos difficultés particulières.

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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…