Excel vba sortir de boucle for next

Résolu/Fermé
mf4706 Messages postés 7 Date d'inscription mercredi 9 novembre 2022 Statut Membre Dernière intervention 30 juin 2024 - 9 nov. 2022 à 11:12
mf4706 Messages postés 7 Date d'inscription mercredi 9 novembre 2022 Statut Membre Dernière intervention 30 juin 2024 - 9 nov. 2022 à 11:35

Voici la macro créée pour générer les bulletins de la classe de ma belle-fille.

Sub Creerpdf()

' pdf Macro

Dim c As Range

Dim Derlig As Integer

Derlig = Range("A" & Rows.Count).End(xlUp).Row

For Each c In Worksheets("Elèves").Range("A1:A" & Derlig)

Worksheets("Bulletin Virgi").Cells(1, 9).Value = c.Value

Worksheets("Bulletin Virgi").ExportAsFixedFormat Type:=xlTypePDF, Filename:= _

"D:\Document\Docs Excel\Bulletins de Virgi\PDF-Bull-Virgi\" & c.Value & ".pdf" _

, Quality:=xlQualityStandard, IncludeDocProperties:="True", IgnorePrintAreas _

:=False, OpenAfterPublish:=False

Next

Sheets("Bulletin Virgi").Activate

Cells(1, 9).Activate

Cells(1, 9).Value = "e1"

End Sub

Je vais essayer de résumer :
1 dans la cellule i1 au départ il y a le n° de référence de l'élève numéro 1 (e1)
2 Je lance la macro
3 Dans la cellule i1 défilent tous les N° des élèves (cette année-ci : 19) ... et dans les bulletins, défilent les points attribués à chacun et ça génère bien les 19 pdf attendus et...
4 ...après l'élève e19, la macro rencontre la ligne vide et arrête la boucle
5 A ce moment-là, dans la cellule i1, c'est le vide (puisque ligne vide : fin de la liste élèves)
6 Les cases de points du dernier bulletin indiquent des codes d'erreurs (normal puis que la référence est vide)
7 Le processus s'arrête sur l'ouverture de la macro qui demande un débogage
8 Les lignes de la fin :
Sheets("Bulletin Virgi").Activate
Cells(1,9).Activate
Cells(1,9).Value = "e1"

Ne sont donc pas atteintes

 

J'aimerais donc empêcher l'arrivée du "débogage" et que la cellule i1 retrouve son N° de départ (pour ne pas affoler l'utilisatrice  ) et que ce soit 'propre' (en fait il suffit de retaper e1 dans la cellule I1, mais bon ça doit être possible de l’intégrer à la macro mais je n’y arrive pas.
Voilà, ce n'est pas facile d'être clair comme ça à distance, j'espère l'avoir été

Merci d’avance

A voir également:

2 réponses

M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 284
9 nov. 2022 à 11:24

Bonjour,

Teste en modifiant cette ligne

Derlig = Worksheets("Elèves").Range("A" & Rows.Count).End(xlUp).Row
0
mf4706 Messages postés 7 Date d'inscription mercredi 9 novembre 2022 Statut Membre Dernière intervention 30 juin 2024
9 nov. 2022 à 11:35

Waw merciiiiiii

Il suffisait donc de "signaler" dans Derlig la feuille "Elèves" !!

Ca fonctionne bien merci, je vais appliquer ça maintenant à une macro d'impression papier !

0