Je tourne en rond sur une boucle

Bonjour,

je suis novive en VBA et cela fait plusieurs jours que je me casse les dents sur à priori quelquechose de trés simple;

une boucle permettant la création d1 fichier PDF à chaque page trouvée dans une feuille d'un classeur.

Quelquesoit la commande que je place après le code de création du PDF ca bloque sur cette ligne de commande.

dans un premier temps cela bloquait sur le next de la boucle maintenant cela bloque sur la MSGbox que j'ai ajouté pour baliser pas à pas ma progression. ?????

Pourtant cela a déja fonctionné et je ne sais pas ce que j'ai changé pour que cela ne marche plus.

Merci de votre aide, car là ce doit etre simple mais je bloque depuis des heures et des heures. voici la partie du code

Nb_feuilles = ThisWorkbook.Sheets.Count

MsgBox "Nb_feuilles " & Nb_feuilles

For y = 1 To Nb_feuilles - 2 ' -2 car feuilles liste et bouton à la fin du classeur

Sheets("liste fichiers à générer").Activate

Nom_feuille = Sheets("liste fichiers à générer").Range("A" & y + 1)

MsgBox "Nom_feuille " & Nom_feuille

Sheets(Nom_feuille).Activate

Nb_pages = ActiveSheet.HPageBreaks.Count + 1

MsgBox "Nb_pages " & Nb_pages

Sheets(Nom_feuille).Activate

        For a = 1 To Nb_pages

            Nom_Fichier = Sheets("liste fichiers à générer").Cells(a + 1, y + 1) & " " & Periode & ".PDF"
                ' le +1 correspond au fait
                ' que la colonne de la feuille "liste fichiers à générer" a une entête

             Nom_Fichier = "BMR " & Nom_Fichier

            'Chemin_complet = Chemin_sousrep(y) & "\" & Nom_Fichier

             Chemin_complet = Chemin1 & "\" & Nom_Fichier

        MsgBox "le nom de la feuille active est " & ActiveSheet.Name

        ActiveSheet.ExportAsFixedFormat _
        Type:=xlTypePDF, _
        Filename:=Chemin_complet, _
        Quality:=xlQualityStandard, _
        IncludeDocProperties:=True, _
        IgnorePrintAreas:=False, _
        From:=a, To:=a, _
        OpenAfterPublish:=False

         MsgBox "le nom de la feuille active est " & ActiveSheet.Name

        Next a      
        Next y

Bonjour,

"bloque", ça veut dire quoi ?

Erreur d'exécution ? Dans ce cas, quelle erreur ?

Sinon ?

Bonjour,

En lisant le titre, j'aurais tendance à dire.. c'est normal pour une boucle... de tourner en rond

Sinon sans fichier, ce code à essayer en mode pas à pas [F8]

  Dim Col As Long, Lig As Long, ShtS As Worksheet
  Dim Nb_feuilles As Integer, Nom_feuille As String, Nb_pages As Integer
  ' Définir la feuille source
  Set ShtS = Sheets("liste fichiers à générer")
    ' -3 car ligne d'entête et feuilles liste et bouton à la fin du classeur
    Nb_feuilles = ShtS.Range("A" & Rows.Count).End(xlUp).Row - 3
    MsgBox "Nb_feuilles " & Nb_feuilles
    For Lig = 2 To Nb_feuilles
      Nom_feuille = ShtS.Range("A" & Lig)
      MsgBox "Nom_feuille " & Nom_feuille
      Sheets(Nom_feuille).Activate
      Nb_pages = ActiveSheet.HPageBreaks.Count + 1
      MsgBox "Nb_pages " & Nb_pages
      For Col = 1 To Nb_pages
      ' le +1 correspond au fait
      ' que la colonne de la feuille "liste fichiers à générer" a une entête

      ' ### ou est définit la variable Periode ???
      Nom_Fichier = "BMR " & ShtS.Cells(Lig, Col + 1) & " " & Periode & ".PDF"
      'Chemin_complet = Chemin_sousrep(y) & "\" & Nom_Fichier
      Chemin_complet = Chemin1 & "\" & Nom_Fichier
      MsgBox "le nom de la feuille active est " & ActiveSheet.Name
      ' Exporter au format PDF
      ActiveSheet.ExportAsFixedFormat _
          Type:=xlTypePDF, _
          Filename:=Chemin_complet, _
          Quality:=xlQualityStandard, _
          IncludeDocProperties:=True, _
          IgnorePrintAreas:=False, _
          From:=a, To:=a, _
          OpenAfterPublish:=False
      MsgBox "le nom de la feuille active est " & ActiveSheet.Name
    Next Col
  Next Lig

A+

Rechercher des sujets similaires à "tourne rond boucle"