Boucle à 15 mais arrête à 10

Bonjour, j'ai une macros avec une boucle qui devrait aller jusqu'à 14 mais elle s'arrête à 10 et recommence indéfiniment. Je ne comprend pas. Voici mon code:

Sub f()

Do While n < 15

nom = ActiveSheet.Name

numpage = nom

numpage = Right(numpage, 2)

extnum = Replace(numpage, ")", "")

nbre = numero_ligne + extnum

n = nbre + 1

numpage2 = nom

numpage2 = Left(numpage2, 3)

feuille = numpage2 & n & ")"

MsgBox feuille

Sheets(feuille).Select

Loop

End Sub

J'aimerais savoir pourquoi ça ne fonctionne pas. Merci de votre aide.

25classeur2.xlsx (13.93 Ko)

Bonjour,

Je ne sais pas du tout à quoi te sert ce code ? Tu veux sélectionner les feuilles les unes après les autres ?

Sub Test()

    Dim I As Integer

    For I = 1 To Worksheets.Count

        Worksheets(I).Select

    Next I

End Sub

sinon avec ton code (si j'ai bien tout compris mais pas sûr) :

Sub f()

    Dim Nom As String
    Dim NumPage As Integer

    Worksheets(1).Select

    Do While NumPage < 15

        Nom = ActiveSheet.Name
        Nom = Replace(Nom, "(", "")
        Nom = Replace(Nom, ")", "")
        Nom = Trim(Replace(Nom, "#", ""))

        NumPage = CInt(Nom)

        Sheets("# (" & NumPage + 1 & ")").Select

    Loop

End Sub

Hervé.

Bonjour

Bonjour Theze

Essayes cette macro

Sub f()

  Do While n < 15
    nom = ActiveSheet.Name
    n = Val(Mid(nom, InStr(1, nom, "(") + 1)) + 1
    feuille = Left(nom, 3) & n & ")"
    MsgBox feuille
    Sheets(feuille).Select
  Loop
End Sub

Bonjour, merci pour vos suggestions. La façon de faire de Banzai64 simplifie beaucoup ma macro. Merci!

Mais pour la répétition, vos deux macros fonctionnent mais elles ne s'arrêtent pas à 15, elles continuent indéfiniment lorsque je les lancent dans ma feuille excel. Est-ce qu'elles sont supposé s'arrêter? Pourquoi Banzai64 la tienne continue jusqu'à l'infinie sans recommencer alors que la mienne se rend jusqu'à 10 et recommence indéfiniment? Ton code, à part la variable "n" est similaire au miens. J'aimerais avoir des explications.

merci!


J'ai résolu mon problème bien que je ne comprends toujours pas pourquoi ma maros arrêtait à 10.

merci beaucoup pour votre aide.

Bonsoir

infodes a écrit :

je ne comprends toujours pas pourquoi ma maros arrêtait à 10.

Dans ta macro tu prenais les 2 derniers caractères du nom de la feuille

numpage = Right(numpage, 2)

Si le nom ="# (9)" tu récupères "9)" ----> + 1 = page "# (10)"

Si le nom "# (10)" tu récupères "0)" ----> + 1 = page "# (1)"

Bonjour Banzai64, merci pour l'explication. Ça va m'aider pour les prochaines macros que je vais faire.

bonne journée!

Rechercher des sujets similaires à "boucle arrete"