XL 2016 Optimiser une macro

  • Initiateur de la discussion Initiateur de la discussion linebich
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

linebich

XLDnaute Junior
Bonjour forum
je demande votre aide pour optimiser ce code qui a pour but de copier un tableau vers une feuille par la suite enregistrer cette feuille dans un nouveau classeur et faire de traitement sur cette feuille je m'excuse pour le niveau basique du code je suis débutant .
Merci pour tout retour
VB:
Sub copy()


 Application.ScreenUpdating = False
Worksheets("F1").Visible = True
 

 Range("TabloF1").ClearContents
  
  
 


  Sheets("BDD").Select
 
 Range("Tablo").Select
    
   Selection.Copy

   Sheets("F1").Activate
   Range("B8").Select
    ActiveSheet.Paste
 
  Application.CutCopyMode = False

 

  'Call create_new_file
  Application.ScreenUpdating = True

'Worksheets("F1").Visible = False
End Sub



Sub create_new_file()
Dim Nom As Variant

Application.ScreenUpdating = False


Sheets("F1").Activate
Nom = "Paris_" & Range("L9").Value
 Workbooks.Add
    ChDir ThisWorkbook.Path

      ActiveWorkbook.SaveAs Filename:= _
        ThisWorkbook.Path & "\" & Nom & ".xlsx", FileFormat:= _
        xlOpenXMLWorkbook, CreateBackup:=False
ThisWorkbook.Sheets("F1").Copy Before:=Workbooks(Nom & ".xlsx").Sheets(1)


'pour vidercontent
Range("p9:P100, R9:R100,S9:S100,T9:T100,U9:U100,V9:V100").ClearContents

    'pour masquer
  Range("Q:Q,W:W,X:X").EntireColumn.Hidden = True
        
    'pour securisation
 
 
   Range("D9:D100,H9:H100,N9:N100").Locked = True
  FormulaHidden = False
 
    
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True _
     , AllowFormattingRows:=True, AllowFiltering:=True, Password:="0000"
    ActiveSheet.EnableSelection = xlNoRestrictions



Workbooks(Nom & ".xlsx").Close SaveChanges:=True

Sheets("BDD"").Activate

Application.ScreenUpdating = True
MsgBox ("Fichier enregistré !")


End Sub
 
Bonjour Linebitch,
Essayez ce transfert :
VB:
Sub Transfert()
    Sheets("BDD").Range("Tablo").Copy Destination:=Sheets("F1").Range("B8")
End Sub
On copie Tablo de BDD dans F1 à partir de la cellule B8.
La ligne Application.ScreenUpdating = True n'est pas utile, le VBA remet à True le flag en sortant.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
486
Réponses
7
Affichages
106
Réponses
17
Affichages
934
Retour