watashi La démotivation : JAMAIS ! | Bonjour à tous,
J'ai un fichier excel avec macros (2 c'est pas enorme !) qui sont appellés à l'activation de 6 des 7 feuilles que contien ce classeur les 2 macros sont les suivantes :
Code :
- Sub MaJtab()
- 'Macro de mise à jour automatique de la ventilation
- 'Répartition des NC par imputation et par mois
- Dim MesNc(7, 11)
- Dim i As Integer, a As Integer
- For i = 2 To Sheets(1).Cells(65536, 1).End(xlUp).Row
- Select Case UCase(Sheets(1).Cells(i, 4).Value)
- Case Is = UCase("à préciser" )
- a = 3
- Case Is = UCase("Fabrication" )
- a = 4
- Case Is = UCase("BE mécanique" )
- a = 5
- Case Is = UCase("BE automatismes" )
- a = 6
- Case Is = UCase("Commercial" )
- a = 7
- Case Is = UCase("Client" )
- a = 8
- Case Is = UCase("Fournisseur" )
- a = 9
- Case Else
- a = 2
- End Select
- MesNc(a - 2, Sheets(1).Cells(i, 3).Value - 1) = CInt(MesNc(a - 2, Sheets(1).Cells(i, 3).Value - 1)) + 1
- Next i
- 'Mise en place du tableau des ventillation par mois et par imputation
- a = 2
- For a = 3 To 9
- i = 2
- For i = 2 To 13
- Sheets(3).Cells(a - 1, i) = CInt(MesNc(a - 2, i - 2))
- Next i
- Next a
- 'Mise en place du nombre de fiches en attente
- Dim NbNcAttente As Integer
- NbNcAttente = 0
- i = 0
- For i = 0 To 11
- NbNcAttente = NbNcAttente + MesNc(0, i)
- Next i
- Sheets(3).Cells(11, 4).Value = NbNcAttente
- End Sub
|
et Code :
- Sub MaJBeM()
- 'Macro de mise à jour automatique des ventilatiobns pour le BEM
- 'Mise à 0 de la table
- Sheets(4).Range("B2:B21" ).ClearContents
- Sheets(6).Range("B2:B21" ).ClearContents
- 'Comptage des NC et ventilation
- Dim i As Integer, WkSh As Worksheet, a As Integer
- For i = 2 To Sheets(1).Cells(65536, 1).End(xlUp).Row
- 'définition de la feuille
- If UCase(Sheets(1).Cells(i, 4).Value) = UCase("BE mécanique" ) Then
- Select Case Sheets(1).Cells(i, 3).Value
- Case 1 To 6
- Set WkSh = Sheets(4)
- Case 7 To 12
- Set WkSh = Sheets(6)
- Case Else
-
- End Select
- 'définition de la ligne
- If Sheets(1).Cells(i, 5) = "" Then a = 21 Else a = Sheets(1).Cells(i, 5)
- 'Ecriture
- If Not IsEmpty(WkSh) Then WkSh.Cells(a, 2) = WkSh.Cells(a, 2).Value + 1
- Else
- End If
- Next i
- End Sub
|
J'ai en plus dans workbook_open un shets(1).activate (sachant que c'est la seule feuille qui ne déclenche pas l'appel d'une macro).
Mon problème est que ce fichier mets minimum 30 secondes à s'ouvrir... Je trouves ça un peu long vu le peu qu'il y a dedans (taille du fichier 100ko).
J'ai signé mes macros, mais ça n'accelère pas l'ouverture du fichier... Quelqu'un aurait une piste sur ce qui fait ramer son ouverture ?
Merci d'avance Message édité par watashi le 09-02-2006 à 09:21:51 ---------------
Je bidouillle c'est sur... Mais j'essaye de faire en sorte que ça marche ;-)
|