Appliquer un code VBA sur toutes les feuilles en meme temps

Le
reibmag Hors ligne
Hello tout le monde!!!!

Je dispose d'un code qui fonctionne très bien dans une feuille excel, mais je ne sais pas comment le modifier pour pouvoir l'exécuter en une seule fois sur l'ensemble des feuilles du fichier.

Voici mon code (je suis débutant.je pense que ça doit se voir :-)

Sub Macro1()
Columns("H:H").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("H2").Select
ActiveCell.FormulaR1C1 = "CAHT Cumulé"

With ActiveCell.Characters(Start:=1, Length:).Font
.Name = "Tahoma"
.FontStyle = "Gras"
.Size = 8
.ColorIndex = 1
End With

Range("H3").Select
ActiveCell.FormulaR1C1 = "=+RC[-1]"


With Range("H4")
.FormulaR1C1 = "=+R[-1]C+RC[-1]"
.AutoFill Destination:=Range("H4:H" & Range("G65536").End(xlUp).Row)
End With

Columns("I:I").Select
Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Range("I2").Select
ActiveCell.FormulaR1C1 = "% CAHT"
With ActiveCell.Characters(Start:=1, Length:).Font
.Name = "Tahoma"
.FontStyle = "Gras"
.Size = 8
.ColorIndex = 1
End With

'2ème étape

Dim CellCible As Range
Dim CellCible1 As Range
Dim CellCible2 As Range

Set CellCible = Range("I3")
Set CellCible1 = Range("H3")
Set CellCible2 = Range("H3").End(xlDown)


With CellCible
.Style = "Percent"
.FormulaLocal = "=" & CellCible1.Offset(0, 0).Address(0, 0) & "/" & CellCible2.Offset(0, 0).Address
.AutoFill Destination:=Range("I3:I" & Range("H65536").End(xlUp).Row)

End With

End Sub


J'espère que quelqun pourra m'aider, et si ce n'est pas trop demander une petite explication serait la bienvenue.
D'avance merci!!!!
Reibmag ;-)
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
LSteph
Le #23552791
Bonjour,

Sub attFeuilles()
Dim sh as worksheet
For each sh in activeworkbook.sheets
sh.activate
call Macro1
next sh
end sub

'LSteph
reibmag Hors ligne
Le #23553681
LSteph a écrit le 11/07/2011 à 14h15 :
Bonjour,

Sub attFeuilles()
Dim sh as worksheet
For each sh in activeworkbook.sheets
sh.activate
call Macro1
next sh
end sub

'LSteph


Bonjour!!!

Waouh.....c'est génial.....ça fonctionne!!!
Un très très grand merci! Vous me sauvez la vie, j'etais pret a executer mon code feuille par feuille (il y en a 150)!!!

Bonne soirée
LSteph
Le #23555421
... pour ameliorer l'execution de ta macro sur de nombreuses feuilles,
évite tous les select

Exemple au lieu de:

''''
Columns("H:H").Select
Selection.Insert Shift:=xlToRight,
CopyOrigin:=xlFormatFromLeftOrAbove
Range("H2").Select
ActiveCell.FormulaR1C1 = "CAHT Cumulé"

'''''
Columns("H:H").Insert Shift:=xlToRight,
CopyOrigin:=xlFormatFromLeftOrAbove
[H2].FormulaR1C1 = "CAHT Cumulé"

'LSteph
Publicité
Poster une réponse
Anonyme