Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
MichD
Le 23/02/22 Í 06:45, Mathieu a écrit :
"formulaire imprimé"
Bonjour, N.B. Ce qui suit n'a pas été testé! Dans le ThisWorkbook du projetVBA de ton classeur, copie ceci : 'Lorsque l'impression est terminée, la procédure appelle la 'procédure "Après_impression" pour remettre la cellule A52 'tel qu'elle était avant de lancer l'impression. 'Si tu préfères, tu peux attacher la macro Í un bouton dans 'ton formulaire ------------------------------------------------- Private Sub Workbook_AfterSave(ByVal Success As Boolean) Après_impression End Sub ------------------------------------------------- Dans un module standard : copie ceci : 'Déclaration des variables dans le haut du module. Public Couleur As Long Public V As Variant Public Largeur As Double '------------------------------------------------- Sub Imprimer_Les_Feuilles_Selectionnees() Dim Sh As Worksheet Application.EnableEvents = False For Each Sh In ThisWorkbook.Worksheets With Sh Couleur = .Range("A52").Interior.Color V = .Range("A52").Value Largeur = .Range("A52").EntireColumn.Width .Range("A52").Value = "formulaire imprimé" .Range("A:A").EntireColumn.AutoFit .Range("A52").Interior.Color = vbGreen .PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:úlse End With Next Application.EnableEvents = True End Sub '------------------------------------------------- Sub Après_impression() Dim Sh As Worksheet For Each Sh In ThisWorkbook.Worksheets With Sh .Range("A52").Value = V .Range("A52").Interior.Color = Couleur .Range("A52").ColumnWidth = Largeur End With End Sub '------------------------------------------------- MichD
Le 23/02/22 Í 06:45, Mathieu a écrit :
"formulaire imprimé"
Bonjour,
N.B. Ce qui suit n'a pas été testé!
Dans le ThisWorkbook du projetVBA de ton classeur, copie ceci :
'Lorsque l'impression est terminée, la procédure appelle la
'procédure "Après_impression" pour remettre la cellule A52
'tel qu'elle était avant de lancer l'impression.
'Si tu préfères, tu peux attacher la macro Í un bouton dans
'ton formulaire
-------------------------------------------------
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Après_impression
End Sub
-------------------------------------------------
Dans un module standard : copie ceci :
'Déclaration des variables dans le haut du module.
Public Couleur As Long
Public V As Variant
Public Largeur As Double
'-------------------------------------------------
Sub Imprimer_Les_Feuilles_Selectionnees()
Dim Sh As Worksheet
Application.EnableEvents = False
For Each Sh In ThisWorkbook.Worksheets
With Sh
Couleur = .Range("A52").Interior.Color
V = .Range("A52").Value
Largeur = .Range("A52").EntireColumn.Width
.Range("A52").Value = "formulaire imprimé"
.Range("A:A").EntireColumn.AutoFit
.Range("A52").Interior.Color = vbGreen
.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:úlse
End With
Next
Application.EnableEvents = True
End Sub
'-------------------------------------------------
Sub Après_impression()
Dim Sh As Worksheet
For Each Sh In ThisWorkbook.Worksheets
With Sh
.Range("A52").Value = V
.Range("A52").Interior.Color = Couleur
.Range("A52").ColumnWidth = Largeur
End With
End Sub
'-------------------------------------------------
Bonjour, N.B. Ce qui suit n'a pas été testé! Dans le ThisWorkbook du projetVBA de ton classeur, copie ceci : 'Lorsque l'impression est terminée, la procédure appelle la 'procédure "Après_impression" pour remettre la cellule A52 'tel qu'elle était avant de lancer l'impression. 'Si tu préfères, tu peux attacher la macro Í un bouton dans 'ton formulaire ------------------------------------------------- Private Sub Workbook_AfterSave(ByVal Success As Boolean) Après_impression End Sub ------------------------------------------------- Dans un module standard : copie ceci : 'Déclaration des variables dans le haut du module. Public Couleur As Long Public V As Variant Public Largeur As Double '------------------------------------------------- Sub Imprimer_Les_Feuilles_Selectionnees() Dim Sh As Worksheet Application.EnableEvents = False For Each Sh In ThisWorkbook.Worksheets With Sh Couleur = .Range("A52").Interior.Color V = .Range("A52").Value Largeur = .Range("A52").EntireColumn.Width .Range("A52").Value = "formulaire imprimé" .Range("A:A").EntireColumn.AutoFit .Range("A52").Interior.Color = vbGreen .PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:úlse End With Next Application.EnableEvents = True End Sub '------------------------------------------------- Sub Après_impression() Dim Sh As Worksheet For Each Sh In ThisWorkbook.Worksheets With Sh .Range("A52").Value = V .Range("A52").Interior.Color = Couleur .Range("A52").ColumnWidth = Largeur End With End Sub '------------------------------------------------- MichD
MichD
Oublie cette section, elle n'est pas applicable, je voulais utiliser l'événement "AfterPrint" mais elle n'existe pas. Il y a seulement BeforeSave or AfterSave. Désolé. ------------------------------------------------- Private Sub Workbook_AfterSave(ByVal Success As Boolean) Après_impression End Sub ------------------------------------------------- MichD
Oublie cette section, elle n'est pas applicable, je voulais utiliser
l'événement "AfterPrint" mais elle n'existe pas. Il y a seulement
BeforeSave or AfterSave. Désolé.
-------------------------------------------------
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Après_impression
End Sub
-------------------------------------------------
Oublie cette section, elle n'est pas applicable, je voulais utiliser l'événement "AfterPrint" mais elle n'existe pas. Il y a seulement BeforeSave or AfterSave. Désolé. ------------------------------------------------- Private Sub Workbook_AfterSave(ByVal Success As Boolean) Après_impression End Sub ------------------------------------------------- MichD