Améliorer vitesse d'éxécution

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
 

tototiti2008

XLDnaute Barbatruc
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 ?
 

teamtat

XLDnaute Occasionnel
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
 

Benjy

XLDnaute Occasionnel
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.
 

Statistiques des forums

Discussions
312 538
Messages
2 089 403
Membres
104 159
dernier inscrit
isbouk