Simplification d'une VBA qui semble assez lourde
DavidDURAN
Messages postés
6
Statut
Membre
-
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 40050 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Suite à plusieurs recherches sur le Net, j'ai réussi à trouver plusieurs VBA qui correspondaient à mes souhaits. Mon objectif est d'ajouter automatiquement une ligne pour inscrire une nouvelle personne. Par la même occasion je souhaite que le processus désactive et réactive le verrouillage afin d'éviter toutes fausses manipulations de mes collègues. Voici le VBA :
Ma question : est-il possible de simplifier le VBA qui mouline un peu lors de l'exécution ?
Merci d'avance pour vos réponses.
Suite à plusieurs recherches sur le Net, j'ai réussi à trouver plusieurs VBA qui correspondaient à mes souhaits. Mon objectif est d'ajouter automatiquement une ligne pour inscrire une nouvelle personne. Par la même occasion je souhaite que le processus désactive et réactive le verrouillage afin d'éviter toutes fausses manipulations de mes collègues. Voici le VBA :
Sub Ajout_CDD()
'Déverrouiller toutes les feuilles
Dim nombre As Integer
Dim Motdepasse As String
Motdepasse = "MotdePasse"
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Unprotect Password:=Motdepasse
Next i
' Ajout CDD Macro
Sheets("Sept").Select
Range("A7").Select
Selection.End(xlDown).Offset(1, 0).Select
' Ajout ligne
Dim Ligne As Long, F As Integer
Ligne = ActiveCell.Row
For F = 1 To Sheets.Count
If Not (Sheets(F).Name = "Accueil") Then
Sheets(F).Rows(Ligne).Copy
Sheets(F).Rows(Ligne).Insert Shift:=xlDown
End If
Next F
Application.CutCopyMode = False
' Verrouiller toutes les feuilles
Motdepasse = "MotdePasse"
nombre = ActiveWorkbook.Sheets.Count
Application.ScreenUpdating = False
For i = 1 To nombre
Worksheets(i).Protect Password:=Motdepasse
Next i
End Sub
Ma question : est-il possible de simplifier le VBA qui mouline un peu lors de l'exécution ?
Merci d'avance pour vos réponses.
A voir également:
- Simplification d'une VBA qui semble assez lourde
- Excel compter cellule couleur sans vba - Guide
- Vba excel sélectionner une plage de cellules variable ✓ - Forum VB / VBA
- Vba attendre 1 seconde ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
- Find vba - Astuces et Solutions
2 réponses
Bonjour,
Sans avoir regardé ton code .... je peux déjà te dire que tu peux mettre
au début de ton code puis le remettre à true à la fin.
ça te fera gagner du temps dans l'exécution de ton code.
Sans avoir regardé ton code .... je peux déjà te dire que tu peux mettre
Application.ScreenUpdating = false
au début de ton code puis le remettre à true à la fin.
ça te fera gagner du temps dans l'exécution de ton code.