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

Microsoft 365 Nettoyer les étapes inutiles d'une macro

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

oceanepla

XLDnaute Junior
Bonjour,

J'ai fais une macco mais j'ai l'impression qu'elle peut être améliorer en supprimant les étapes inutiles mais je ne sais pas comment faire. Voici mon fichier, si quelqu'un veut bien jeter un oeil.

Merci d'avance,
 

Pièces jointes

Bonjour,
Dans ta macro1, remplace toute la partie des copier-collé par ceci
Je n'ai pas repris ici les premières lignes de ta macro1. La partie donnée ci-dessous est à insérer après le debut
VB:
Sub Macro111()
    Application.ScreenUpdating = False
    With Sheets("Saisie")
        .Range("C4").Copy Sheets("PA Général").Range("D11")
        .Range("C6").Copy Sheets("PA Général").Range("A11")
        .Range("C8").Copy Sheets("PA Général").Range("B11")
        .Range("C10").Copy Sheets("PA Général").Range("E11")
        .Range("C12").Copy Sheets("PA Général").Range("F11")
        .Range("C16").Copy Sheets("PA Général").Range("H11")
        .Range("C18").Copy Sheets("PA Général").Range("I11")
        .Range("C22").Copy Sheets("PA Général").Range("P11")
        .Range("C24").Copy Sheets("PA Général").Range("N11")
    End With
    Application.ScreenUpdating = True
End Sub
Pas regardé la macro2, pas le temps.
@+ Lolote83
 
Ok super merci ça m'aide déjà bcp
 
Bonjour Le Forum, Oceanepla, Lolote83,
Une autre présentation :
VB:
Sub Macro111()
  Set GEN = Sheets("PA Général")
  Application.ScreenUpdating = False
  With Sheets("Saisie")
    .[C4].Copy GEN.[D11]: .[C6].Copy GEN.[A11]: .[C8].Copy GEN.[B11]
    .[C10].Copy GEN.[E11]: .[C12].Copy GEN.[F11]: .[C16].Copy GEN.[H11]
    .[C18].Copy GEN.[I11]: .[C22].Copy GEN.[P11]: .[C24].Copy GEN.[N11]
  End With
  Application.ScreenUpdating = True
End Sub
 
Merci bcp 🙂
 
Bonjour à tous

Je te propose ce code .... qui remplace la totalité de la macro 1
Code:
Sub Remplace_Macro1()
With Sheets("Saisie")
    If Application.CountA(.[C4,C6,C8,C10,C14]) < 5 Then MsgBox "Les cellules Initiateur de l'action, Thématique, Sujet, Action à réaliser, Département concerné doivent être remplies.": Exit Sub
    If .[C14] = "Tous" Then
        Sheets("PA Général").Rows("11:11").Insert Shift:=xlDown
        Sheets("PA Général").Range("K10:K11").FillDown
        Sheets("PA Général").[D11] = .[C4].Value
        Sheets("PA Général").[A11] = .[C6].Value
        Sheets("PA Général").[B11] = .[C8].Value
        Sheets("PA Général").[E11] = .[C10].Value
        Sheets("PA Général").[F11] = .[C12].Value
        Sheets("PA Général").[G11] = .[C14].Value
        Sheets("PA Général").[H11] = .[C16].Value
        Sheets("PA Général").[I11] = .[C18].Value
        Sheets("PA Général").[P11] = .[C22].Value
        Sheets("PA Général").[N11] = .[C24].Value
    End If
End With
End Sub

@Phil69970
 
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…