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 !

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

Retour