Simplification de code

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 !

criscris11

XLDnaute Accro
Bonjour à tous,
Il y a quelque temps j'avais enregistré ce code avec l'enregistreur de macros.
Y a t'il moyen de simplifier ce code ?
Pour résumer ce code sert à recopier les formats et formules de la ligne située au dessus lors de l'insertion d'une nouvelle ligne dans les onglets dont les noms se trouvent dans la macro :

Sub recopieformules()
'
' recopieformules Macro
' Macro enregistrée le 28/11/2005 par Utilisateur1
'

Application.ScreenUpdating = False
Application.Run "'Matrice BDD BCL.xls'!saisieetatmilitaire"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisieetatcivil"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisiediplomesetstages"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisiepermis"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisiecontratpasseport"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisietresorerie"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisiesante"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisiechancellerie"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisiepermissions"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!saisienotationorientation"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Application.Run "'Matrice BDD BCL.xls'!COVAPI"
Selection.FillDown
Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.ClearContents
Sheets(Array("ETAT MILIT", "ETAT CIVIL", "DIP ET STG", "PERMIS", _
"CONTRAT PASSEPORT", "TRESO", "SANTE", "CHANC", "PERMS", "NOT. ORIENTATIONS", "COVAPI")). _
Select
Sheets("ETAT MILIT").Activate
Application.ScreenUpdating = True
End Sub

Merci d'avance pour vos suggestions.
Bon dimanche.
 
Re : Simplification de code

Bonjour CrisCris,

Si j'ai compris la question, Essaye peut être un truc du genre (Non testé) :
Code:
Sub recopieformules()
Dim i As Byte
Dim MyArray()
MyArray = Array("'Matrice BDD BCL.xls'!saisieetatmilitaire", "'Matrice BDD BCL.xls'!saisieetatcivil", "'Matrice BDD BCL.xls'!saisiediplomesetstages", "'Matrice BDD BCL.xls'!saisiepermis", "'Matrice BDD BCL.xls'!saisiecontratpasseport", "'Matrice BDD BCL.xls'!saisietresorerie", "'Matrice BDD BCL.xls'!saisiesante", "'Matrice BDD BCL.xls'!saisiechancellerie", "'Matrice BDD BCL.xls'!saisiepermissions", "'Matrice BDD BCL.xls'!saisienotationorientation", "'Matrice BDD BCL.xls'!COVAPI")
For i = 0 To UBound(MyArray, 1)
    Application.Run MyArray(i)
    Selection.FillDown
    Selection.SpecialCells(xlCellTypeConstants, 23).Select
    Selection.ClearContents
Next
    Sheets(Array("ETAT MILIT", "ETAT CIVIL", "DIP ET STG", "PERMIS", _
    "CONTRAT PASSEPORT", "TRESO", "SANTE", "CHANC", "PERMS", "NOT. ORIENTATIONS", "COVAPI")). _
    Select
    Sheets("ETAT MILIT").Activate
Application.ScreenUpdating = True
End Sub
Cordialement
 
Dernière édition:
Re : Simplification de code

Bonsoir Spit,
Content de te retrouver sur le forum. Merci pour le code qui a l'air de fonctionner comme le mien mais qui a l'avantage d'être beaucoup plus court et moins "usine à gaz".
J'ai oublié de préciser une chose mais je pense que cela n'aura pas d'influence : peut il y avoir des incompatibilités avec Excel 97 ?
Dans le cas où la réponse serait négative, c'est tout bénéf.
Merci pour la simplification et bonne soirée.
 
- 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