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

XL 2013 Allègement de 8 macros

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 !

Luc MOUNY

XLDnaute Junior
Bonsoir à tous,

Je commence à me "débrouiller ", en ce qui concerne les macros simples. Dans le fichier joint, j'enchaîne 8 macros, pour enregistrer 4 documents personnalisés au format PDF, par incrémentation d'une cellule pour les 3 premières et une remise à 1 lors de l'enregistrement de la dernière.
Ces macros fonctionnent ce qui est bien, mais je suis convaincu qu'il doit être possible d'alléger tout cela.

Une âme charitable parmi le forum pourrait-elle m'aiguiller encore une fois, vers une solution plus adéquate ?

Merci d'avance pour l'aide que vous pourriez être susceptibles de m'apporter.

Bien amicalement
Luc
 

Pièces jointes

Bonsoir Luc,
Pourquoi la première convoc utilise F7 et les autres F3 ? En F7 il n'y a rien.
Si c'est bien F3 dans les 4 ( année 2020 ) alors on peut simplifier.
A tester :
Code:
Sub EnregConvocs2()      'à modifier toutes les lignes
[B2] = 1
For i = 1 To 4
    Convocation
    [B2] = [B2] + 1
Next i
[B2] = 1
MsgBox "Les 4 convocations sont enregistrées"
End Sub
Sub Convocation()
ActiveSheet.PageSetup.PrintArea = "A1:G" & Range("A" & Rows.Count).End(xlUp).Row 'plage de cellule à enregistrer a adapter
  ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
     "G:\Les Linaigrettes\AG\" & Range("J1") & Range("K1") & Range("F3") & ".pdf", Quality:= _
        xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
        OpenAfterPublish:=False
End Sub
sauf si une subtilité m'a échappé, cela devrait faire la même chose.
 
Bonsoir Sylvanu,
Avant toute chose, merci pour la promptitude de la réponse.
Il s'agit bien d'un oubli de correction en F7 il y avait précédemment la date, mais pour faire tenir l'ensemble sur une seule feuille, j'ai supprimé quelques cellules. Je m'en excuse.
Je regarde le fruit de ton labeur, et reviendrai si problème.
A bientôt
 
Re bonsoir Sylvanu,

Je suis sans voix, je n'avais même pas pensé à faire une boucle pour incrémenter ma cellule.

Tout ça fonctionne parfaitement, et quelle simplification...

Mon sujet est résolu, et de quelle manière !

Un grand merci Sylvanu
 
Bonjour,
On peut mêm gagner une ligne.

VB:
Sub EnregConvocs2()      'à modifier toutes les lignes
For i = 1 To 4
    [B2] = i
    Convocation
Next i
[B2] = 1
MsgBox "Les 4 convocations sont enregistrées"
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
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…