Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

macro trop lente

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

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

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 ???
 
Re : macro trop lente

Re,

Oups je n'avais pas trop regardé ton code 😱

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+
 
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
 
- 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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…