Bonjour
J'ai un classeur qui comporte 60 feuilles.
Exemple simplifié :
Feuil1 (a)
Feuil2 (r)
Feuil3 (g)
Feuil4 (m)
Feuil5 (Toto)
Feuil6 (s)
Ces feuilles sont numérotées dans l'ordre de leur création
c'est à dire "s" a été crée en dernier.
Je veux traiter toutes les feuilles SAUF Toto, dans une boucle
For Feuille = 1 To 5
------
Next
Mais pour cela,il faut que je change l'ordre des noms, comme ci-après :
Feuil1 (a)
Feuil2 (r)
Feuil3 (g)
Feuil4 (m)
Feuil5 (s)
Feuil6 (Toto)
Y a-t-il un moyen simple de permuter "Toto" et "s"
entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5
mais faire ça 10 ou 15 fois sera long,
d'autant qu'il faut reconfigurer la présentation à chaque fois.
Enfin, si nécessaire, je le ferai,
mais c'est vrai que si une autre solution existe,
j'aimerais la connaître... ne serait-ce que pour apprendre !
Merci d'avance.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Daniel.j
Bonjour, comme cela par exemple Dim mafeuille As Object Set monTab = Worksheets(Array(1,2,3,4,6)) For Each mafeuille In monTab ............. Next
ou bien For I = Sheets.Count To 1 Step -1 If Sheets(I).Name = "toto" Then Else ....................... End If Next
http://dj.joss.free.fr/feuil.htm Daniel -- FAQ MPFE http://dj.joss.free.fr/faq.htm
"LANIMAL" a écrit dans le message de news: %
Bonjour J'ai un classeur qui comporte 60 feuilles. Exemple simplifié : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (Toto) Feuil6 (s) Ces feuilles sont numérotées dans l'ordre de leur création c'est à dire "s" a été crée en dernier. Je veux traiter toutes les feuilles SAUF Toto, dans une boucle For Feuille = 1 To 5 ------ Next Mais pour cela,il faut que je change l'ordre des noms, comme ci-après : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (s) Feuil6 (Toto) Y a-t-il un moyen simple de permuter "Toto" et "s" entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5 mais faire ça 10 ou 15 fois sera long, d'autant qu'il faut reconfigurer la présentation à chaque fois. Enfin, si nécessaire, je le ferai, mais c'est vrai que si une autre solution existe, j'aimerais la connaître... ne serait-ce que pour apprendre ! Merci d'avance.
Bonjour,
comme cela par exemple
Dim mafeuille As Object
Set monTab = Worksheets(Array(1,2,3,4,6))
For Each mafeuille In monTab
.............
Next
ou bien
For I = Sheets.Count To 1 Step -1
If Sheets(I).Name = "toto" Then
Else
.......................
End If
Next
http://dj.joss.free.fr/feuil.htm
Daniel
--
FAQ MPFE
http://dj.joss.free.fr/faq.htm
"LANIMAL" <noreply@xxx.yy> a écrit dans le message de news:
%23QEkmMySJHA.4916@TK2MSFTNGP06.phx.gbl...
Bonjour
J'ai un classeur qui comporte 60 feuilles.
Exemple simplifié :
Feuil1 (a)
Feuil2 (r)
Feuil3 (g)
Feuil4 (m)
Feuil5 (Toto)
Feuil6 (s)
Ces feuilles sont numérotées dans l'ordre de leur création
c'est à dire "s" a été crée en dernier.
Je veux traiter toutes les feuilles SAUF Toto, dans une boucle
For Feuille = 1 To 5
------
Next
Mais pour cela,il faut que je change l'ordre des noms, comme ci-après :
Feuil1 (a)
Feuil2 (r)
Feuil3 (g)
Feuil4 (m)
Feuil5 (s)
Feuil6 (Toto)
Y a-t-il un moyen simple de permuter "Toto" et "s"
entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5
mais faire ça 10 ou 15 fois sera long,
d'autant qu'il faut reconfigurer la présentation à chaque fois.
Enfin, si nécessaire, je le ferai,
mais c'est vrai que si une autre solution existe,
j'aimerais la connaître... ne serait-ce que pour apprendre !
Merci d'avance.
Bonjour, comme cela par exemple Dim mafeuille As Object Set monTab = Worksheets(Array(1,2,3,4,6)) For Each mafeuille In monTab ............. Next
ou bien For I = Sheets.Count To 1 Step -1 If Sheets(I).Name = "toto" Then Else ....................... End If Next
http://dj.joss.free.fr/feuil.htm Daniel -- FAQ MPFE http://dj.joss.free.fr/faq.htm
"LANIMAL" a écrit dans le message de news: %
Bonjour J'ai un classeur qui comporte 60 feuilles. Exemple simplifié : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (Toto) Feuil6 (s) Ces feuilles sont numérotées dans l'ordre de leur création c'est à dire "s" a été crée en dernier. Je veux traiter toutes les feuilles SAUF Toto, dans une boucle For Feuille = 1 To 5 ------ Next Mais pour cela,il faut que je change l'ordre des noms, comme ci-après : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (s) Feuil6 (Toto) Y a-t-il un moyen simple de permuter "Toto" et "s" entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5 mais faire ça 10 ou 15 fois sera long, d'autant qu'il faut reconfigurer la présentation à chaque fois. Enfin, si nécessaire, je le ferai, mais c'est vrai que si une autre solution existe, j'aimerais la connaître... ne serait-ce que pour apprendre ! Merci d'avance.
LargoWinch
LANIMAL a écrit :
Bonjour J'ai un classeur qui comporte 60 feuilles. Exemple simplifié : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (Toto) Feuil6 (s) Ces feuilles sont numérotées dans l'ordre de leur création c'est à dire "s" a été crée en dernier. Je veux traiter toutes les feuilles SAUF Toto, dans une boucle For Feuille = 1 To 5 ------ Next Mais pour cela,il faut que je change l'ordre des noms, comme ci-après : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (s) Feuil6 (Toto) Y a-t-il un moyen simple de permuter "Toto" et "s" entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5 mais faire ça 10 ou 15 fois sera long, d'autant qu'il faut reconfigurer la présentation à chaque fois. Enfin, si nécessaire, je le ferai, mais c'est vrai que si une autre solution existe, j'aimerais la connaître... ne serait-ce que pour apprendre ! Merci d'avance.
Pourquoi ne pas by-passer toto dans la boucle ?
Dim Sh As Worksheet For Each Sh In ThisWorkbook.Sheets
'MsgBox ("Feuillet : " & Sh.Name) if sh.name <> "toto" then <traitement> end if Next
A noter, un simple glisser-lacher de l'onglet permet de les traiter dans l'ordre où ils apparaissent dans le classeur (j'ai inversé Feuil2 et Feuil3, les msgbox affichées me donnent bien Feuil1 - Feuil*3* - Feuil*2*)
LANIMAL a écrit :
Bonjour
J'ai un classeur qui comporte 60 feuilles.
Exemple simplifié :
Feuil1 (a)
Feuil2 (r)
Feuil3 (g)
Feuil4 (m)
Feuil5 (Toto)
Feuil6 (s)
Ces feuilles sont numérotées dans l'ordre de leur création
c'est à dire "s" a été crée en dernier.
Je veux traiter toutes les feuilles SAUF Toto, dans une boucle
For Feuille = 1 To 5
------
Next
Mais pour cela,il faut que je change l'ordre des noms, comme ci-après :
Feuil1 (a)
Feuil2 (r)
Feuil3 (g)
Feuil4 (m)
Feuil5 (s)
Feuil6 (Toto)
Y a-t-il un moyen simple de permuter "Toto" et "s"
entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5
mais faire ça 10 ou 15 fois sera long,
d'autant qu'il faut reconfigurer la présentation à chaque fois.
Enfin, si nécessaire, je le ferai,
mais c'est vrai que si une autre solution existe,
j'aimerais la connaître... ne serait-ce que pour apprendre !
Merci d'avance.
Pourquoi ne pas by-passer toto dans la boucle ?
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
'MsgBox ("Feuillet : " & Sh.Name)
if sh.name <> "toto" then
<traitement>
end if
Next
A noter, un simple glisser-lacher de l'onglet permet de les traiter dans
l'ordre où ils apparaissent dans le classeur (j'ai inversé Feuil2 et
Feuil3, les msgbox affichées me donnent bien Feuil1 - Feuil*3* - Feuil*2*)
Bonjour J'ai un classeur qui comporte 60 feuilles. Exemple simplifié : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (Toto) Feuil6 (s) Ces feuilles sont numérotées dans l'ordre de leur création c'est à dire "s" a été crée en dernier. Je veux traiter toutes les feuilles SAUF Toto, dans une boucle For Feuille = 1 To 5 ------ Next Mais pour cela,il faut que je change l'ordre des noms, comme ci-après : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (s) Feuil6 (Toto) Y a-t-il un moyen simple de permuter "Toto" et "s" entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5 mais faire ça 10 ou 15 fois sera long, d'autant qu'il faut reconfigurer la présentation à chaque fois. Enfin, si nécessaire, je le ferai, mais c'est vrai que si une autre solution existe, j'aimerais la connaître... ne serait-ce que pour apprendre ! Merci d'avance.
Pourquoi ne pas by-passer toto dans la boucle ?
Dim Sh As Worksheet For Each Sh In ThisWorkbook.Sheets
'MsgBox ("Feuillet : " & Sh.Name) if sh.name <> "toto" then <traitement> end if Next
A noter, un simple glisser-lacher de l'onglet permet de les traiter dans l'ordre où ils apparaissent dans le classeur (j'ai inversé Feuil2 et Feuil3, les msgbox affichées me donnent bien Feuil1 - Feuil*3* - Feuil*2*)
LANIMAL
Grand merci à Daniel.j et LargoWinch J'ai appris des choses. Finalement, plutôt que de sauter Toto (! ! ! !), je vais utiliser le Glisser-Lacher suggéré par LargoWinch. J'y avais pensé, mais voyant que rien ne changeait dans l'explorateur d'objets, je n'avais pas été plus loin. Encore merci à tous deux.
LargoWinch a écrit :
LANIMAL a écrit :
Bonjour J'ai un classeur qui comporte 60 feuilles. Exemple simplifié : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (Toto) Feuil6 (s) Ces feuilles sont numérotées dans l'ordre de leur création c'est à dire "s" a été crée en dernier. Je veux traiter toutes les feuilles SAUF Toto, dans une boucle For Feuille = 1 To 5 ------ Next Mais pour cela,il faut que je change l'ordre des noms, comme ci-après : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (s) Feuil6 (Toto) Y a-t-il un moyen simple de permuter "Toto" et "s" entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5 mais faire ça 10 ou 15 fois sera long, d'autant qu'il faut reconfigurer la présentation à chaque fois. Enfin, si nécessaire, je le ferai, mais c'est vrai que si une autre solution existe, j'aimerais la connaître... ne serait-ce que pour apprendre ! Merci d'avance.
Pourquoi ne pas by-passer toto dans la boucle ?
Dim Sh As Worksheet For Each Sh In ThisWorkbook.Sheets
'MsgBox ("Feuillet : " & Sh.Name) if sh.name <> "toto" then <traitement> end if Next
A noter, un simple glisser-lacher de l'onglet permet de les traiter dans l'ordre où ils apparaissent dans le classeur (j'ai inversé Feuil2 et Feuil3, les msgbox affichées me donnent bien Feuil1 - Feuil*3* - Feuil*2*)
Grand merci à Daniel.j et LargoWinch
J'ai appris des choses.
Finalement, plutôt que de sauter Toto (! ! ! !), je vais utiliser le
Glisser-Lacher suggéré par LargoWinch.
J'y avais pensé, mais voyant que rien ne changeait dans l'explorateur
d'objets, je n'avais pas été plus loin.
Encore merci à tous deux.
LargoWinch a écrit :
LANIMAL a écrit :
Bonjour
J'ai un classeur qui comporte 60 feuilles.
Exemple simplifié :
Feuil1 (a)
Feuil2 (r)
Feuil3 (g)
Feuil4 (m)
Feuil5 (Toto)
Feuil6 (s)
Ces feuilles sont numérotées dans l'ordre de leur création
c'est à dire "s" a été crée en dernier.
Je veux traiter toutes les feuilles SAUF Toto, dans une boucle
For Feuille = 1 To 5
------
Next
Mais pour cela,il faut que je change l'ordre des noms, comme ci-après :
Feuil1 (a)
Feuil2 (r)
Feuil3 (g)
Feuil4 (m)
Feuil5 (s)
Feuil6 (Toto)
Y a-t-il un moyen simple de permuter "Toto" et "s"
entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5
mais faire ça 10 ou 15 fois sera long,
d'autant qu'il faut reconfigurer la présentation à chaque fois.
Enfin, si nécessaire, je le ferai,
mais c'est vrai que si une autre solution existe,
j'aimerais la connaître... ne serait-ce que pour apprendre !
Merci d'avance.
Pourquoi ne pas by-passer toto dans la boucle ?
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Sheets
'MsgBox ("Feuillet : " & Sh.Name)
if sh.name <> "toto" then
<traitement>
end if
Next
A noter, un simple glisser-lacher de l'onglet permet de les traiter dans
l'ordre où ils apparaissent dans le classeur (j'ai inversé Feuil2 et
Feuil3, les msgbox affichées me donnent bien Feuil1 - Feuil*3* - Feuil*2*)
Grand merci à Daniel.j et LargoWinch J'ai appris des choses. Finalement, plutôt que de sauter Toto (! ! ! !), je vais utiliser le Glisser-Lacher suggéré par LargoWinch. J'y avais pensé, mais voyant que rien ne changeait dans l'explorateur d'objets, je n'avais pas été plus loin. Encore merci à tous deux.
LargoWinch a écrit :
LANIMAL a écrit :
Bonjour J'ai un classeur qui comporte 60 feuilles. Exemple simplifié : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (Toto) Feuil6 (s) Ces feuilles sont numérotées dans l'ordre de leur création c'est à dire "s" a été crée en dernier. Je veux traiter toutes les feuilles SAUF Toto, dans une boucle For Feuille = 1 To 5 ------ Next Mais pour cela,il faut que je change l'ordre des noms, comme ci-après : Feuil1 (a) Feuil2 (r) Feuil3 (g) Feuil4 (m) Feuil5 (s) Feuil6 (Toto) Y a-t-il un moyen simple de permuter "Toto" et "s" entre les feuilles n° 5 et 6.
J'ai pensé Copier-Coller "Toto" dans Feuil6 et "s" dans Feuil5 mais faire ça 10 ou 15 fois sera long, d'autant qu'il faut reconfigurer la présentation à chaque fois. Enfin, si nécessaire, je le ferai, mais c'est vrai que si une autre solution existe, j'aimerais la connaître... ne serait-ce que pour apprendre ! Merci d'avance.
Pourquoi ne pas by-passer toto dans la boucle ?
Dim Sh As Worksheet For Each Sh In ThisWorkbook.Sheets
'MsgBox ("Feuillet : " & Sh.Name) if sh.name <> "toto" then <traitement> end if Next
A noter, un simple glisser-lacher de l'onglet permet de les traiter dans l'ordre où ils apparaissent dans le classeur (j'ai inversé Feuil2 et Feuil3, les msgbox affichées me donnent bien Feuil1 - Feuil*3* - Feuil*2*)
LargoWinch
Dans son message précédent, LANIMAL a écrit :
Grand merci à Daniel.j et LargoWinch J'ai appris des choses. Finalement, plutôt que de sauter Toto (! ! ! !), je vais utiliser le Glisser-Lacher suggéré par LargoWinch. J'y avais pensé, mais voyant que rien ne changeait dans l'explorateur d'objets, je n'avais pas été plus loin. Encore merci à tous deux.
Utiliser une boucle serait pourtant plus souple à l'usage ;)
-- Largo "C'est pas parce qu'il sont nombreux a avoir tort qu'il ont forcément raison" - Coluche
Dans son message précédent, LANIMAL a écrit :
Grand merci à Daniel.j et LargoWinch
J'ai appris des choses.
Finalement, plutôt que de sauter Toto (! ! ! !), je vais utiliser le
Glisser-Lacher suggéré par LargoWinch.
J'y avais pensé, mais voyant que rien ne changeait dans l'explorateur
d'objets, je n'avais pas été plus loin.
Encore merci à tous deux.
Utiliser une boucle serait pourtant plus souple à l'usage ;)
--
Largo
"C'est pas parce qu'il sont nombreux a avoir tort qu'il ont forcément
raison" - Coluche
Grand merci à Daniel.j et LargoWinch J'ai appris des choses. Finalement, plutôt que de sauter Toto (! ! ! !), je vais utiliser le Glisser-Lacher suggéré par LargoWinch. J'y avais pensé, mais voyant que rien ne changeait dans l'explorateur d'objets, je n'avais pas été plus loin. Encore merci à tous deux.
Utiliser une boucle serait pourtant plus souple à l'usage ;)
-- Largo "C'est pas parce qu'il sont nombreux a avoir tort qu'il ont forcément raison" - Coluche