Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Amélioration code macro

  • Initiateur de la discussion Initiateur de la discussion gourdin
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

gourdin

XLDnaute Impliqué
Bonjour,

Je souhaite améliorer en le simplifiant un code macro pas très compliqué mais répété de multiple fois et qui doit pouvoir se simplifier.

Difficile à expliquer, ce'st pourquoi je vous un fichier exemple simplifié.

J'espère que dans mon exemple joint j'aurai été suffisamment clair car delà n'a pas été facile à expliquer.

Merci
 

Pièces jointes

Re : Amélioration code macro

Bonsoir,
essaie ce code :

Sub pdf_tableau()

' initialisation
i=1
boucle:
Range("A"&i).Select
If ActiveCell.Value = "" Then Exit Sub
If ActiveCell.Value > 0 And ActiveCell.Value< 4 Then
ActiveCell.Offset(0, 0).Range("A1:B6").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & _
ActiveCell.Offset(0, 1).Range("A"&i).Value & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
End If
i = i + 10
GoTo boucle
End Sub
 
Dernière édition:
Re : Amélioration code macro

Un petite demande supplémentaire.

Comment faire pour qu'à la fin du code fourni précédemment, après "GoTo Boucle" et avant "End Sub" je rajoute encore quelques lignes de code comme par exemple : range("A7").select

Quand j'ai essayé, la macro ne l’exécute pas.

Merci
 
Re : Amélioration code macro

Bonjour,

pas tout suivi, mais en l'état tu ne pourras pas positionner d'instruction après "GoTo Boucle", car comme l'instruction l'indique, elle te renvoie systèmatique à l'étiquette "boucle".....

bonne journée
@+
 
Re : Amélioration code macro

Bonjour.
Au lieu de "Boucle" mettre "Do",
au lieu de "GoTo Boucle", "Loop"
et au lieu de "Exit Sub", "Exit Do".
En gros ...
Comme ça, d'autres instructions pourront être exécutées derrière la boucle.
Cordialement.
À +
 
Re : Amélioration code macro

Bonsoir,
un moyen assez simple est de mettre une étiquette derrière le "GoTo boucle" (boucle2 par exemple) et de remplacer le "Then Exit sub" par "GoTo boucle2"


Sub pdf_tableau()
' initialisation
i=1
boucle:
Range("A"&i).Select
If ActiveCell.Value = "" Then GoTo boucle2
If ActiveCell.Value > 0 And ActiveCell.Value< 4 Then
ActiveCell.Offset(0, 0).Range("A1:B6").Select
Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:=ThisWorkbook.Path & "\" & _
ActiveCell.Offset(0, 1).Range("A"&i).Value & ".pdf" _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False
End If
i = i + 10
GoTo boucle
boucle2:
Range("A7").select
....

End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
644
Réponses
3
Affichages
655
D
Réponses
1
Affichages
520
J
Réponses
1
Affichages
2 K
A
Réponses
2
Affichages
1 K
A
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…