Macro avec liste dynamique
Bonjour à vous,
J'ai depuis longtemps un code de Banzaï64
Dans le code, il y a un indice de ligne qui permet de déterminer à partir de où excel va cherche les infos. Reste que, c'est une base de noms et comme toute base, les noms changent. Si bien que, l'indice de la ligne ne convient pas au nom que je souhaite ou carrément à une cellule vide ce qui arrête la macro. Je corrige le code aux besoins, mais c'est plus moi qui gère cela, alors cela pose des soucis.
Je souhaiterai avoir les mêmes fonctionnalités, information et d'impression selon une liste, mais il serait souhaitable que la liste soit dynamique. "listedim1" c'est un nom que pourrait donner avec le gestionnaire de noms que je maîtrise, contrairement à la VBA.
En espérant être clair dans ma demande. J'ai mis, ci-dessous le code actuel et un second code que j'ai tenté d'adapter.
Merci d'avance pour l'aide proposée.
Cordialement,
Leakim
Sub Print()
Dim Ligne As Long
Dim F1 As Worksheet
Set F1 = Sheets("DONNEES variables")
Ligne = 48
With Sheets("Feuille mensuelle")
While F1.Cells(Ligne, "A") <> ""
.Range("R3") = F1.Cells(Ligne, "A")
.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
'.PrintPreview ' Pour les tests
Ligne = Ligne + 1
Wend
End With
End SubSub ajout_feuilles()
Dim nom, c
For Each c In Range("liste")
nom = c.Value
Sheets.Add Count:=1, after:=Worksheets(Worksheets.Count)
ActiveSheet.Name = nom
Next c
End SubBonjour Leakim,
Pour réaliser les impressions suivant les indications portées dans la plage nommée "listedim1"
Option Explicit
Sub Impression()
Dim Cel As Range
Dim F1 As Worksheet
Set F1 = Sheets("DONNEES variables")
With Sheets("Feuille mensuelle")
For Each Cel In F1.Range("listedim1")
If Cel <> "" Then
.Range("R3") = Cel
'.PrintOut Copies:=1, Collate:=True, IgnorePrintAreas:=False
.PrintPreview ' Pour les tests
End If
Next Cel
End With
End SubA+
Bonjour Frangy,
Merci pour ton retour c'est juste nickel !
Le code tourne super.
Merci
Leakim