Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Appliquer un code VBA sur toutes les feuilles en meme temps

3 réponses
Avatar
reibmag
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:=11).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:=11).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 ;-)

3 réponses

Avatar
LSteph
Bonjour,

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

'LSteph
Avatar
reibmag
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
Avatar
LSteph
... 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