macro trop lente

RVL

XLDnaute Occasionnel
Bonsoir le forum,
j'ai réalisé un petit fichier (planning prevision prod. sur 4 semaines) qui m'est bien utile.
Je le remplis manuellement avec des codes couleur ou signes ...
et le probléme vient des macros, elles sont lentes.
Je réalise les macros avec l'éditeur, n'y a-t-il pas moyen de les simplifier.
Je vous joint un ex simplifié en PJ.
 

Pièces jointes

  • Prev.zip
    29.7 KB · Affichages: 44

RVL

XLDnaute Occasionnel
Re : macro trop lente

Lorsque que selectionne un nombre de cellules et que j'applique une macro "vert" ou autre,
suivant les cas le temps mis pour effectuer cette macro est parfois relativement long ?
Peut etre mon PC ???
 
C

Compte Supprimé 979

Guest
Re : macro trop lente

Re,

Oups je n'avais pas trop regardé ton code :eek:

Tu n'as pas besoin de boucle pour mettre tes formules et couleur
Code:
Sub Macro_vert()
  ActiveSheet.Unprotect ""
  Selection.FormulaR1C1 = "1"
  Selection.Interior.ColorIndex = 4
  Selection.Font.ColorIndex = 4
  ActiveSheet.Protect "", True, True, True
End Sub

Même chose pour chaque couleur

A+
 

ROGER2327

XLDnaute Barbatruc
Re : macro trop lente

Bonjour à tous
Un essai :
VB:
Sub Macro_vert()
  couleur 4
End Sub

Sub Macro_bleu()
  couleur 8
End Sub

Sub Macro_orange()
  couleur 44
End Sub

Sub Macro_blanc()
  couleur xlNone
End Sub

Sub couleur(x%)
  ActiveSheet.Unprotect ""
  With Selection
    If x = xlNone Then
      .ClearContents
      With .Font
        .Name = "Arial"
        .Size = 14
      End With
      Else
      .Value = 1
      .Font.ColorIndex = x
    End If
    .Interior.ColorIndex = x
  End With
  ActiveSheet.Protect "", True, True, True
End Sub

Sub Macro_baisseT()
  baisse_monte "m"
End Sub

Sub Macro_monteeT()
  baisse_monte "k"
End Sub

Sub baisse_monte(x$)
  ActiveSheet.Unprotect ""
  With Selection
    .Value = x
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    With .Font
      .Name = "Wingdings 3"
      .Bold = True
      .ColorIndex = 0
      .Size = 18
    End With
    .Interior.ColorIndex = xlNone
  End With
  ActiveSheet.Protect "", True, True, True
End Sub

Sub Macro_changt()
  ActiveSheet.Unprotect ""
  ActiveCell.Font.Size = 38
  ActiveCell.Value = "/"
  With Selection
    .HorizontalAlignment = xlCenter
    .VerticalAlignment = xlCenter
    With .Font
      .Name = "Arial"
      .ColorIndex = 0
      .Bold = True
    End With
    .Interior.ColorIndex = xlNone
  End With
  ActiveSheet.Protect "", True, True, True
End Sub
ROGER2327
#5040


Vendredi 13 Pédale 138 (Sainte Valburge, SQ)
17 Ventôse An CCXIX
2011-W10-1T02:28:42Z
 

Statistiques des forums

Discussions
312 572
Messages
2 089 819
Membres
104 284
dernier inscrit
Yohan90