Je suis débutant en VBA, je voulais déjà remercié MichD d'avoir répondu à un post il y a quelque jour ce qui m'a beaucoup aidé à avancé.
Je cherche une piste pour simplifier mon code, et à le rendre plus malléable quant aux modifications qui peuvent être faites.
Je dois diffuser des données à des agences, j'ai 180 onglets, et 60 agences dans un même fichier xlsx.
Le code ci dessous marche pour une agence déterminée, avec des onglets déterminées et l'enregistrement à un endroit déterminé.
Sélectionner les onglets que je souhaite
L'enregistrer à un nom spécifique au format .xlsx
L'enregistrer à un endroit donné
l'enregistrer au format pdf
Mais si je dois rajouter le reste des agences? avec des nouveaux onglets comment vais je faire? recopier tel quel la formule et changer la destination etc, mais avec 180 onglets et 60 agences la formule va faire des kilometres !
Ni a t-il pas une solution moins longue?
Est il possible de lui mettre dans une feuille
Colonne A: Nom des onglet
Colonne B: Nom du fichier
Colonne C: l'endroit ou l'enregistré et que la macro agisse en fonction de ces infos, le code serait beaucoup plus court.
Dim i As Integer
With ActiveWorkbook
For i = 1 To Sheets.Count
With Sheets(i).Cells
.Columns.AutoFit
.Rows.AutoFit
.Cells.Locked = False
.Range("B2").Locked = True
End With
Next i
ActiveWorkbook.Worksheets.Select
For Each xworksheet In ActiveWorkbook.Worksheets
xworksheet.Select
Range("F:F").ColumnWidth = 170
Range("F:F").WrapText = True