Bonjour,
Je suis novice en macros Excel et j'aimerais automatiser l'impression d'un tableau en fonction de la valeur d'une liste.
C'est sans doute simple et je ne demande qu'à apprendre.
Merci d'avance pour vos contributions.
Régis
Sub IMPRESSION()
'
' Macro1 Macro
'
Range("E5:I13").Select
ActiveSheet.PageSetup.PrintArea = "$E$5:$I$13"
ActiveWindow.SelectedSheets.PrintOut Copies:=16
End Sub
J'ai bien compris que tu souhaites 14 fois l'impression d'une même feuille...
Je vis à Grenoble où je suis limité à 70 km/h sur les rocades et où la "pollution" commence à faire souffrir mes amis...
Sub a()
Dim p As Range, c As Range
Set p = Range("M3:M16")
For Each c In p
If Len(c) > 0 Then
Range("E3") = c
With ActiveSheet
.PageSetup.PrintArea = "$E$3:$I$13"
.PrintOut Copies:=1
End With
End if
Next c
End Sub
mais ça, c'était avant... d'avoir vu les formules dans le tableau:
Merci pour l'intérêt que vous portez à ma demande
Je vais essayer de clarifier!
La cellule E3 peut prendre chacune des valeurs de la liste M3:M16. Manuellement, si je veux imprimer mon tableau en fonction de chaque valeur de la liste, il faut que je tape la valeur en E3, puis que j'imprime, et ainsi de suite. Pour gagner du temps, je voudrais pouvoir automatiser cela. Je dois imprimer sur toutes les valeurs de la liste.
Je ne suis pas certain d'avoir été plus clair
Régis
Merci Staple1600
J'étais en train de rédiger mon message quand le tien est arrivé !
J'ai intégré le code dans un module mais cela provoque l'erreur suivante : Erreur de compilation : Next sans For
Ai-je fait ce qu'il fallait?
Cordialement, Régis
Désolé
C'est mieux ainsi Sub a() Dim p As Range, c As Range Set p = Range("M3:M16") For Each c In p If Len(c) > 0 Then Range("E3") = c With ActiveSheet .PageSetup.PrintArea = "$E$3:$I$13" .PrintOut Copies:=1 End With End if Next c End Sub
PS: Voir ajout dans l'édition de mon précédent message (copie écran)
Re,
En fait le contenu du tableau importe peu. Celui-ci évolue en réalité sur d'autres critères de recherches sur une autre feuille avec les fonctions INDEX et EQUIV. Je n'avais pas mis le fichier complet car trop lourd!
Ta macro fonctionne exactement comme je le souhaite et je t'en remercie bien chaleureusement.
Bien cordialement, Régis