COMMENT EXECUTER UNE MACRO SUR PLUSIEUR PAGES D'EXCEL

  • Initiateur de la discussion yaumme
  • Date de début
Y

yaumme

Guest
j'zi realiser une petite macro qui s'execute sur une seule page a cause de l'instruction sheets.select("le nom de ma page") , un truc comme ca !!!

Par quoi dois je remplacer cette instruction pour qu'elles s'execute sur :

mapage1, mapage2, mapage3


merci.
 
V

vincent

Guest
bonjour

tu peux essayer ceci:

for i=1 to x 'x etant le nombre de feuille ou tu veux executer ta macro
sheets(i).select
tamacro
next

voila

ps si tu ne veux pas commencer a la premier feuille change for i=1 par for i=x x etant la premiere des feuilles ou tu veux executer ta macro
 
M

michel

Guest
bonsoir Yaumme , bonsoir Vincent

dans l'exemple joint , tous les noms de feuilles du classeur sont listées dans un userform

la macro est ensuite éxécutée dans la feuille sélectionnée , par un clic sur le nom correspondant


bonne soirée
Michel
 

Pièces jointes

  • choix_feuille_pour_lct_macro.zip
    10.9 KB · Affichages: 239
@

@+Thierry

Guest
Bonsoir Yaumme, Vincent

Tu te débrouille bien Vincent, il te suffit de compléter ton code de la sorte :

Sub Vincent()
Dim i As Byte, x As Byte

x = Sheets.Count 'Par Exemple, ou ce qu'on veut

For i = 1 To x
Sheets(i).Select
tamacro
Next

End Sub

Et pour Yaumme, en voici une procédure pour laquelle je me permets de te conseiller de l'essayer dans un classeur vierge... Puis de cliquer dans les cellules "A1" des autres feuilles que celle active...

Sub ExplainReadCharte()
Dim WS As Worksheet

For Each WS In Worksheets
If WS.Name <> ActiveSheet.Name Then
With WS
.Hyperlinks.Add .Range("A1"), Address:="http://www.excel-downloads.com/html/French/CharteXLD.php", _
TextToDisplay:="A Lire d'Urgence"
End With
End If
Next
End Sub


En tout cas c'est une méthode simple pour sélectionner et agir sur toutes les feuille sauf l'ActiveSheet

Bonne Soirée à tous et toutes
@+Thierry
 
@

@+Thierry

Guest
Re: Comment Exécuter une Macro sur Plusieurs Pages d'Excel

Bonsoir Michel

Désolé je n'avais pas raffraichi cette page et entre temps je grignotais et ne t'ai point vu...

As-tu vu ma "dernière" démo ci-dessus "ExplainReadCharte" lol

Bonne Soirée

@+Thierry
Take it Easy Just For The Fun​
 
M

michel

Guest
Re: Comment Exécuter une Macro sur Plusieurs Pages d'Excel

bonsoir @+Thierry

très bien ta deuxième procédure..;o)
je l'ai joué plus simple et moins explicite dans la fin de mon exemple

mais je pense que ta procédure pourra me servir dans d'autres occasions

bonne soirée à toi
Michel
 
Y

yaumme

Guest
voici le texte de ma macro car j'ai pas reussi a faire ce que vous me disiez, la macro ne reagit pas comme je le voudrais merci si vous pouviez faire les modifs pour qu elle realise ce que je voulais plus , l'idée de selectionner la page sur laquelle je veux qu'elle s'execute me plairait beaucoup mais a voir



Option Base 1

Dim Ligne, Colonne, C, L, i, j As Integer
Dim CP3(65536, 2) As Variant
Dim EffetClient(65536, 2) As Variant


Public Sub Lecture_Datas()
Sheets("Liste RC").Select
For Colonne = 1 To 2 Step 1
For Ligne = 1 To 65536 Step 1
If (Sheets("Liste RC").Cells(Ligne + 1, Colonne).Value <> "") Then
EffetClient(Ligne, Colonne) = Sheets("Liste RC").Cells(Ligne + 1, Colonne).Value
Else
Ligne = 655360
End If

Next
Next
End Sub

Public Sub Traduction()
Sheets("CP3").Select
Colonne = 1
For Ligne = 1 To 65536 Step 1
If (Sheets("CP3").Cells(Ligne + 9, Colonne + 21).Value <> "") Then
CP3(Ligne, Colonne) = Sheets("CP3").Cells(Ligne + 9, Colonne + 21).Value
Else
Ligne = 655360
End If
Next

Colonne = 1
Ligne = 1
L = 1
C = 1
While (i = 0)

If (CP3(Ligne, Colonne) <> "") Then
j = 0

L = 1
Else
i = 1
End If


While (j = 0)
If (CP3(Ligne, Colonne) = EffetClient(L, C)) Then
CP3(Ligne, Colonne + 1) = EffetClient(L, C + 1)
j = 1
Ligne = Ligne + 1
Else
L = L + 1
End If
Wend
Wend


C = 1
For L = 1 To Ligne Step 1

Sheets("CP3").Cells(L + 9, C + 20).Value = CP3(L, C + 1)

Next





End Sub

Sub Code_client()

Lecture_Datas
Traduction


End Sub
 

Discussions similaires