Améliorer vitesse d'éxécution

  • Initiateur de la discussion Initiateur de la discussion teamtat
  • 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 !

teamtat

XLDnaute Occasionnel
Bonjour,
Je voudrais savoir si il été possible d'accéléré la vitesse d'éxécution de ce code VBA ??
Merci

Code:
Select Case MsgBox("Contrôl final ?", vbYesNo + vbQuestion, "Titre de la MsgBox")
Case vbYes
'procédure si click sur Oui

Dim Chemin As String, Fichier As String
Dim wk As Workbook
'*******Variable à définir**************
Chemin = "\\Angfs1\data\TKAF\R01\A427\_Commun-Agence\GENERAL\Dossier Camille\"
Fichier = "TX_Asc_Controle_final_LB_v68_test.xls"
'***************************************
Application.ScreenUpdating = False
Set wk = Workbooks.Open(Chemin & Fichier)

ThisWorkbook.Worksheets("Saisie de données").Range("C2").Copy
wk.Worksheets("Masque saisie").Range("C4").PasteSpecial xlPasteAll, , , True

ThisWorkbook.Worksheets("Saisie de données").Range("C3").Copy
wk.Worksheets("Masque saisie").Range("G4").PasteSpecial xlPasteAll, , , True

ThisWorkbook.Worksheets("Saisie de données").Range("C1").Copy
wk.Worksheets("Masque saisie").Range("E4").PasteSpecial xlPasteAll, , , True


With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox5.Value = True Or .CheckBox6.Value = True Or .CheckBox1.Value = True Or .CheckBox64.Value = True Or .CheckBox2.Value = True Or .CheckBox3.Value = True Or .CheckBox8.Value = True Or .CheckBox12.Value = True Or .CheckBox17.Value = True Or .CheckBox65.Value = True Or .CheckBox18.Value = True Then
         
     wk.Worksheets("Masque saisie").mac2 = True
Else
      wk.Worksheets("Masque saisie").mac2 = False
End If
End With

'************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox13.Value = True Or .CheckBox14.Value = True Or .CheckBox16.Value = True Then
         
     wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If
End With

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox15.Value = True Then
      wk.Worksheets("Masque saisie").mac1 = True
Else
      wk.Worksheets("Masque saisie").mac1 = False
End If

Application.CutCopyMode = True
wk.Close True
 
Re : Améliorer vitesse d'éxécution

Bonjour teamtat,

Pourquoi, il est long à s'éxecuter ?
S'il y a des lenteurs, je ne vois que 2 causes possibles :
Le fichier que tu ouvres au début est trés lourd ou demande un calcul long à son ouverture
ou alors
lors des copies des valeurs dans le classeur ouvert, ça entraine des recalculs trés longs

ça peut être ça ?
 
Re : Améliorer vitesse d'éxécution

Oui le fichier que je vais ouvrir
Code:
TX_Asc_Controle_final_LB_v68_test.xls
fait plus de 2 mo et ensuite je n'ai pas tout copié le code car trop long, je vous met l'intégralité
Code:
With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox5.Value = True Or .CheckBox6.Value = True Or .CheckBox1.Value = True Or .CheckBox64.Value = True Or .CheckBox2.Value = True Or .CheckBox3.Value = True Or .CheckBox8.Value = True Or .CheckBox12.Value = True Or .CheckBox17.Value = True Or .CheckBox65.Value = True Or .CheckBox18.Value = True Then
         
     wk.Worksheets("Masque saisie").mac2 = True
Else
      wk.Worksheets("Masque saisie").mac2 = False
End If
End With

'************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox13.Value = True Or .CheckBox14.Value = True Or .CheckBox16.Value = True Then
         
     wk.Worksheets("Masque saisie").mac3 = True
Else
      wk.Worksheets("Masque saisie").mac3 = False
End If
End With

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox15.Value = True Then
      wk.Worksheets("Masque saisie").mac1 = True
Else
      wk.Worksheets("Masque saisie").mac1 = False
End If

'***************************************************************************************


With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox19.Value = True Or .CheckBox66.Value = True Then
     wk.Worksheets("Masque saisie").ris20 = True
Else
      wk.Worksheets("Masque saisie").ris20 = False
End If
End With



'***************************************************************************************
If ThisWorkbook.Worksheets("Saisie de données").CheckBox24.Value = True Then
      wk.Worksheets("Masque saisie").gai3 = True
Else
      wk.Worksheets("Masque saisie").gai3 = False
End If

'***************************************************************************************
If ThisWorkbook.Worksheets("Saisie de données").CheckBox25.Value = True Then
      wk.Worksheets("Masque saisie").gai2 = True
Else
      wk.Worksheets("Masque saisie").gai2 = False
End If

'***************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox69.Value = True Or .CheckBox70.Value = True Then
     wk.Worksheets("Masque saisie").bou1 = True
Else
      wk.Worksheets("Masque saisie").bou1 = False
End If
End With

'***************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox29.Value = True Or .CheckBox30.Value = True Then
     wk.Worksheets("Masque saisie").man1 = True
Else
      wk.Worksheets("Masque saisie").man1 = False
End If
End With

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox30.Value = True Then
      wk.Worksheets("Masque saisie").man2 = True
Else
      wk.Worksheets("Masque saisie").man2 = False
End If

'***************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox31.Value = True Or .CheckBox58.Value = True Then
     wk.Worksheets("Masque saisie").capa1 = True
Else
      wk.Worksheets("Masque saisie").capa1 = False
End If
End With

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox32.Value = True Then
      wk.Worksheets("Masque saisie").mot10 = True
Else
      wk.Worksheets("Masque saisie").mot10 = False
End If

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox35.Value = True Then
      wk.Worksheets("Masque saisie").cab6 = True
Else
      wk.Worksheets("Masque saisie").cab6 = False
End If

'***************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox36.Value = True Or .CheckBox38.Value = True Then
     wk.Worksheets("Masque saisie").gai1 = True
Else
      wk.Worksheets("Masque saisie").gai1 = False
End If
End With

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox37.Value = True Then
      wk.Worksheets("Masque saisie").mot8 = True
Else
      wk.Worksheets("Masque saisie").mot8 = False
End If

'***************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox40.Value = True Or .CheckBox41.Value = True Or .CheckBox52.Value = True Or .CheckBox53.Value = True Then
     wk.Worksheets("Masque saisie").capa9 = True
Else
      wk.Worksheets("Masque saisie").capa9 = False
End If
End With

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox43.Value = True Then
      wk.Worksheets("Masque saisie").servpal6 = True
Else
      wk.Worksheets("Masque saisie").servpal6 = False
End If

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox45.Value = True Then
      wk.Worksheets("Masque saisie").capa5 = True
Else
      wk.Worksheets("Masque saisie").capa5 = False
End If


'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox46.Value = True Then
      wk.Worksheets("Masque saisie").servpal5 = True
Else
      wk.Worksheets("Masque saisie").servpal5 = False
End If

'***************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox49.Value = True Or .CheckBox51.Value = True Then
     wk.Worksheets("Masque saisie").cab1 = True
Else
      wk.Worksheets("Masque saisie").cab1 = False
End If
End With


'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox54.Value = True Then
      wk.Worksheets("Masque saisie").cab2 = True
Else
      wk.Worksheets("Masque saisie").cab2 = False
End If

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox55.Value = True Then
      wk.Worksheets("Masque saisie").capa6 = True
Else
      wk.Worksheets("Masque saisie").capa6 = False
End If

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox56.Value = True Then
      wk.Worksheets("Masque saisie").capa2 = True
Else
      wk.Worksheets("Masque saisie").capa2 = False
End If

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox59.Value = True Then
      wk.Worksheets("Masque saisie").capa3 = True
Else
      wk.Worksheets("Masque saisie").capa3 = False
End If

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox44.Value = True Then
      wk.Worksheets("Masque saisie").capa7 = True
Else
      wk.Worksheets("Masque saisie").capa7 = False
End If

'***************************************************************************************

With ThisWorkbook.Worksheets("Saisie de données")
If .CheckBox20.Value = True Or .CheckBox28.Value = True Then
     wk.Worksheets("Masque saisie").tech1 = True
Else
      wk.Worksheets("Masque saisie").tech1 = False
End If
End With

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox28.Value = True Then
      wk.Worksheets("Masque saisie").bou1 = True
Else
      wk.Worksheets("Masque saisie").bou1 = False
End If


'***************************************************************************************


If ThisWorkbook.Worksheets("Saisie de données").CheckBox27.Value = True Then
      wk.Worksheets("Masque saisie").tech2 = True
Else
      wk.Worksheets("Masque saisie").tech2 = False
End If

'***************************************************************************************

If ThisWorkbook.Worksheets("Saisie de données").CheckBox50.Value = True Then
      wk.Worksheets("Masque saisie").tech3 = True
Else
      wk.Worksheets("Masque saisie").tech3 = False
End If

'***************************************************************************************


Application.CutCopyMode = True
wk.Close True

Merci
 
Re : Améliorer vitesse d'éxécution

Peut être lié au chemin d'ouverture ?
"\\Angfs1\data\TKAF\R01\A427\_Commun-Agence\GENERAL\Dossier Camille\ "

Quand tu fais fichier ouvrir tu es directement dans ton dossier et tu n'a plus qu'a double cliquer. Quand tu executes la macro c'est autre chose. Essai peut être de mettre ton fichier sur le bureau et de modifier le chemin en conséquence pour voir si c'est pas la succession de sous dossier qui ralentit l'ouverture.

Loin d'être un expert, mais sa peut être une piste.
 
- 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
4
Affichages
217
Réponses
10
Affichages
302
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
189
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
544
Réponses
4
Affichages
483
Retour