Bonjour,
Je voudrais activer une liste de feuille, pour celà j'ai déjà un premier code, problème celui-ci est très lent car je passe à chaque fois par une feuille Excel de référence pour connaitre le nom de la feuille à activer.
Premier codre trop lent :
Sub Active_feuille()
XX = 1
Do While XX <= 31
Sheets("Feuil1").Select
nom_feuille = Range("A" & XX).Value
Worksheets(nom_feuille).Activate
XX = XX + 1
Loop
End Sub
J'ai donc créer un deuxième code avec une variable par feuille, et je souhaiterais afficher mes feuilles un à une car a chaque fois j'ai un traitement à faire sur chaque feuille :
2ème méthode qui ne fonctionne pas :
Sub affiche_feuille()
Dim n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20, n21, n22, n23, n24, n25, n26, n27, n28, n29, n30, n31 As String
Dim nom_feuille As String
n1 = "Air Liquide"
n2 = "Arcelormittal"
n3 = "Atos Origin"
n4 = "Axa"
n5 = "BNP"
n6 = "Cap Gemini"
n7 = "Casino"
n8 = "Club Méditerranée"
n9 = "Danone"
n10 = "EADS"
n11 = "France Télécom"
n12 = "Iliad"
n13 = "Lafarge"
n14 = "L'oréal"
n15 = "LVMH"
n16 = "Michelin"
n17 = "Peugeot"
n18 = "Saint Gobain"
n19 = "Sanofi"
n20 = "Stmicroelectronics"
n21 = "Total"
n22 = "Vivendi Universal"
n23 = "FCP"
n24 = "OAT 3,5"
n25 = "OAT 4,25"
n26 = "OAT 4,75"
n27 = "OATi 3,4"
n28 = "FT 3,625"
n29 = "BNP TV"
n30 = "Grèce 4,6"
n31 = "S&P 500"
XX = 1
Do While XX < 31
nom_feuille = "n" & XX
XX = XX + 1
Sheets(nom_feuille).Activate
Loop
End Sub
Mon problème est que dans Sheets(nom_feuille).Activate nom_feuille = "n1" et non pas n1 qui renverrais "Air Liquide".
Quelqu'un pourrait il mettre fin à mon arrachage de cheveux ^^.
Je ne peux pas utiliser Sheets(Index) car j'ai un très grand nombres de feuilles qui sont affichées ou non en et dont l'ordre peut changer.
Merci d'avance !
Je voudrais activer une liste de feuille, pour celà j'ai déjà un premier code, problème celui-ci est très lent car je passe à chaque fois par une feuille Excel de référence pour connaitre le nom de la feuille à activer.
Premier codre trop lent :
Sub Active_feuille()
XX = 1
Do While XX <= 31
Sheets("Feuil1").Select
nom_feuille = Range("A" & XX).Value
Worksheets(nom_feuille).Activate
XX = XX + 1
Loop
End Sub
J'ai donc créer un deuxième code avec une variable par feuille, et je souhaiterais afficher mes feuilles un à une car a chaque fois j'ai un traitement à faire sur chaque feuille :
2ème méthode qui ne fonctionne pas :
Sub affiche_feuille()
Dim n1, n2, n3, n4, n5, n6, n7, n8, n9, n10, n11, n12, n13, n14, n15, n16, n17, n18, n19, n20, n21, n22, n23, n24, n25, n26, n27, n28, n29, n30, n31 As String
Dim nom_feuille As String
n1 = "Air Liquide"
n2 = "Arcelormittal"
n3 = "Atos Origin"
n4 = "Axa"
n5 = "BNP"
n6 = "Cap Gemini"
n7 = "Casino"
n8 = "Club Méditerranée"
n9 = "Danone"
n10 = "EADS"
n11 = "France Télécom"
n12 = "Iliad"
n13 = "Lafarge"
n14 = "L'oréal"
n15 = "LVMH"
n16 = "Michelin"
n17 = "Peugeot"
n18 = "Saint Gobain"
n19 = "Sanofi"
n20 = "Stmicroelectronics"
n21 = "Total"
n22 = "Vivendi Universal"
n23 = "FCP"
n24 = "OAT 3,5"
n25 = "OAT 4,25"
n26 = "OAT 4,75"
n27 = "OATi 3,4"
n28 = "FT 3,625"
n29 = "BNP TV"
n30 = "Grèce 4,6"
n31 = "S&P 500"
XX = 1
Do While XX < 31
nom_feuille = "n" & XX
XX = XX + 1
Sheets(nom_feuille).Activate
Loop
End Sub
Mon problème est que dans Sheets(nom_feuille).Activate nom_feuille = "n1" et non pas n1 qui renverrais "Air Liquide".
Quelqu'un pourrait il mettre fin à mon arrachage de cheveux ^^.
Je ne peux pas utiliser Sheets(Index) car j'ai un très grand nombres de feuilles qui sont affichées ou non en et dont l'ordre peut changer.
Merci d'avance !