Optimisation Macro

pledger

XLDnaute Junior
Bonjour le forum :D

Je vous contact car j'ai fait une macro qui est " sensé " s’exécute dans plusieurs classeurs Excel mais cela ne marche pas :/

Et j'aurais surtout besoin d'optimiser mon code principal créer avec l'enregistreur de macro ( brouillon oui je sais ^^ )

Merci d'avance pour votre aide :)
 

pledger

XLDnaute Junior
Re : Optimisation Macro

J'ai oublier de mettre la macro --'

Code:
Sub test()
Dim wb As Workbook
For Each wb In Workbooks
    If wb.Name Like "Analyse*" Then
        Sheets.Add After:=Sheets(Sheets.Count)
    wb.Sheets.Add After:=Sheets(Sheets.Count)
     wb.Sheets("Feuil1").Select
    Application.CutCopyMode = False
     wb.Sheets("Feuil1").Move Before:=Sheets(1)
     wb.Sheets("Concaténation").Select
    Selection.Cut
     wb.Sheets("Feuil1").Select
    Columns("A:A").Select
     wb.ActiveSheet.Paste
    Sheets("Concaténation").Select
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    Columns("T:T").Select
    Selection.Cut
     wb.Sheets("Feuil1").Select
    Columns("B:B").Select
     wb.ActiveSheet.Paste
     wb.Sheets("Concaténation").Select
    Columns("U:Y").Select
    Selection.Cut
     wb.Sheets("Feuil2").Select
    Columns("C:C").Select
    ActiveSheet.Paste
     wb.Sheets("Concaténation").Select
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
    End If
Next wb
End Sub
 

Efgé

XLDnaute Barbatruc
Re : Optimisation Macro

Re Bonjour pledger,
Pour ton quatrième fil sur le sujet "Boucle sur les classeurs" pourais tu mettre enfin un fichier exemple, car même le chaman de mon village ne vois pas ton code dans les rûnes magiques.
Cordialement

Edit Bonjour Victor :)
Re Edit; Même pas vu Laetitia :), je répare cet oublis..
 
Dernière édition:

Efgé

XLDnaute Barbatruc
Re : Optimisation Macro

Re à tous,
Pour ma part, il me faudrait quelques explications:
Pourquoi créer des feuilles dont on ne se sert pas ?
Pourquoi déplcer la feuille 1 des classeurs?
Le code semble copier la feuille Concaténation sur les différents classeyurs. Est ce cela le but ?
La feuille concaténation se trouve t elle dans le classeur contenant la macro ?

Avec un fichier ce serait quand même plus simple.
Cordialement
 

pledger

XLDnaute Junior
Re : Optimisation Macro

Bonjour, Laetitia, Victor21
Re Efgé
En effet vous avez raison et je m'en excuse.
Voici la macro que je souhaite utilisée

Code:
Sub Macro8()

    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets.Add After:=Sheets(Sheets.Count)
    Sheets("Concaténation").Select
    Columns("A:A").Select
    Range("A58").Activate
    Selection.Cut
    Sheets("Feuil1").Select
    Columns("A:A").Select
    ActiveSheet.Paste
    Sheets("Concaténation").Select
    Columns("B:B").Select
    Range("B53").Activate
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 6
    ActiveWindow.ScrollColumn = 7
    ActiveWindow.ScrollColumn = 8
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 10
    ActiveWindow.ScrollColumn = 11
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 16
    Columns("T:T").Select
    Range("T56").Activate
    Selection.Cut
    Sheets("Feuil1").Select
    Columns("B:B").Select
    ActiveSheet.Paste
    Sheets("Concaténation").Select
    Range("U62").Select
    Selection.AutoFill Destination:=Range("U62:U64"), Type:=xlFillDefault
    Range("U62:U64").Select
    ActiveWindow.SmallScroll Down:=12
    Columns("U:U").Select
    Range("U68").Activate
    ActiveWindow.SmallScroll Down:=-92
    Columns("U:Y").Select
    Selection.Cut
    Sheets("Feuil2").Select
    Columns("C:C").Select
    ActiveSheet.Paste
    Sheets("Concaténation").Select
    ActiveWindow.ScrollColumn = 15
    ActiveWindow.ScrollColumn = 14
    ActiveWindow.ScrollColumn = 13
    ActiveWindow.ScrollColumn = 12
    ActiveWindow.ScrollColumn = 9
    ActiveWindow.ScrollColumn = 5
    ActiveWindow.ScrollColumn = 4
    ActiveWindow.ScrollColumn = 3
    ActiveWindow.ScrollColumn = 2
    ActiveWindow.ScrollColumn = 1
    Columns("A:A").Select
    Selection.Delete Shift:=xlToLeft
End Sub
 
Dernière édition:

pledger

XLDnaute Junior
Re : Optimisation Macro

Mon but est de :

-couper la colonne A et T dans la feuille 1
-Couper les colonnes U à la fin du tableau dans la feuille 3 à partirde la colonne C

Je m'explique : ensuite je fait un traintemant sur les fichiers pour les importer dans Access j'ai deux tables : Danger ; Mesure mais le soucis c'est que je voudrais que chaque mesures soient reliée au danger.
 

Efgé

XLDnaute Barbatruc
Re : Optimisation Macro

Re
En voyant le classeur, il me semble que le projet est problèmatique, pour ne pas dire périlleux :rolleyes:.
Les feuilles sont concues pour une présentation, il y a, en particulier, des cellules fusionnées.
Pour utiliser des données à importer dans une base ACCESS il faut commencer par créer une liste (une vrai liste), sans fusion, sans trou dans les enregistrements (sans cellule vide) etc...
Je ne pense pas pouvoir être d'une quelconque utilitée.

Désolé,
Bon courage pour la suite,
Cordialement
 

pledger

XLDnaute Junior
Re : Optimisation Macro

Efgé,
J'ai deja une macro qui fait les defusions et le traitement de données, mais en effet c'est un projet très perilleux, sachant que j'ai plus de 100 fichiers comme sa , a mettre en forme
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Optimisation Macro

Bonjour pledger, le fil,

Je crois vous avoir dit sur un autre fil qu'il faut faire les choses simplement.

Surtout quand on débute en VBA.

Alors avancez pas à pas et méthodiquement, chaque problème à élucider séparément.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 348
Messages
2 087 508
Membres
103 568
dernier inscrit
NoS