Macro pour plusieurs classeurs ouverts

bonjour à tous

J’ai une macro que j'ai rajoutée au ruban et qui fonctionne bien sur chaque classeur ouvert.

Je voudrais que ma macro s'exécute sur l'ensemble des classeurs ouvert dans Excel 2013.

et ne pas à avoir à l’exécuter sur chacun.

Dois je faire une autre macro contenant celle-ci ?

Ou une autre piste plus simple pour un débutant ?

pour répéter la macro

Merci d'avance pour votre aide

Salut,

Dans le fichier ci-joint, tu as une boucle qui s’effectue sur tous les classeurs Excel ouverts à l’écran par le code ci-dessous :

Sub Essai()
Dim i As Byte

For i = 1 To Workbooks.Count
    MsgBox (Workbooks(i).Name)
Next

End Sub

Si tu remplaces mon instruction MsgBox (Workbooks(i).Name) par tes instructions, ça devrait fonctionner comme tu le désires. Sinon, fournis-nous ton code.

Amicalement.

31essai.zip (9.14 Ko)

Bonjour

Merci pour la réponse

J'ai ouvert plusieurs classeurs puis ouvert le classeur essai

un clic sur le bouton

résultat la macro s’exécute bien mais que sur le classeur essai.

ci dessous le code modifié :

Option Explicit

Sub Essai()
Dim i As Byte

For i = 1 To Workbooks.Count
    Range("I1").Select
    Selection.AutoFill Destination:=Range("I1:BA1"), Type:=xlFillDefault
    Range("I1:BA1").Select
    ActiveWindow.LargeScroll ToRight:=-2
    Selection.FormulaArray = "=TRANSPOSE(RC[-8]:R[46]C[-8])"
    Selection.Copy
    Range("I3").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Columns("A:H").Select
    Application.CutCopyMode = False
    Selection.Delete Shift:=xlToLeft
    Rows("1:2").Select
    Selection.Delete Shift:=xlUp
    Range("A2").Select
Next

End Sub

Merci

Re,

chritophe a écrit :

J'ai ouvert plusieurs classeurs puis ouvert le classeur essai

un clic sur le bouton

résultat la macro s’exécute bien mais que sur le classeur essai.

Ca me semble impossible, chez moi cette macro fonctionne parfaitement, sur deux PC différents. As-tu enregistré mon fichier sur ton arborescence ou dans tes fichiers provisoires ? Je ne sais pas ce que ça pourrait changer, mais sait-on jamais
chritophe a écrit :

ci dessous le code modifié :

Donc je comprends que tu as ta solution, non ?

A te relire.

re

non fonctionne pas chez moi

(le code modifié, c'était pour te faire voir le code entier.)

je cherche encore pourquoi cela fonctionne pas.

Bonsoir à tous,

Sur chaque ligne avec une référence tu dois lui spécifier le classeur workbooks(i).ta_reference

Ou plus simple, tu actives le classeur au début :

Workbooks(i).Activate

Accessoirement tu peux mémoriser le classeur actif au lancement et le réactiver à la fin, et masquer les clignotements avec application.screenupdating=false :

Sub test()
    Dim i As Byte, wb As Workbook
    Set wb = ActiveWorkbook
    Application.ScreenUpdating = False
    For i = 1 To Workbooks.Count
        Workbooks(i).Activate
        'ton code
    Next i
    wb.Activate
End Sub

eric

super éric cela fonctionne très bien.

mes fichiers sont des csv

et pour chacun après la macro je dois confirmer que je veux garder le format.

connais tu un moyen pour éviter de cliquer sur les confirmation de format et juste enregistrer.

merci

application.displayalerts=false

eric

nickel merci

Rechercher des sujets similaires à "macro classeurs ouverts"