bonjour a tous
peut on creer une macrocommande sous excel, pour imprimer automatiquement
par une touche de fonction ,sur une imprimante xxxx,où, yyyy
si oui
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
RGI
Bonjour
peut être avec ceci
Sub SelectSheets() Dim i As Integer Dim TopPos As Integer Dim iBooks As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet As Worksheet Dim cb As CheckBox Application.ScreenUpdating = False ' Vérifier la protection du workbook If ActiveWorkbook.ProtectStructure Then MsgBox "Classeur est protégé.", vbCritical Exit Sub End If ' Ajoutez une feuille de dialogue provisoire Set CurrentSheet = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add iBooks = 0 ' Ajoutez les boîtes à cocher TopPos = 40 With ActiveWorkbook For i = 1 To .Sheets.Count If .Sheets(i).Name <> PrintDlg.Name Then Set CurrentSheet = .Sheets(i) ' Passer les feuilles vides et les feuilles cachées iBooks = iBooks + 1 PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5 PrintDlg.CheckBoxes(iBooks).Text = _ Sheets(i).Name TopPos = TopPos + 13 End If Next i End With ' Déplacer les boutons OK et Cancel PrintDlg.Buttons.Left = 240 ' Réactivez la feuille originale CurrentSheet.Activate PrintDlg.Visible = False ' Hauteur, largeur et titre du dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 230 .Caption = "Choisissez les feuilles à imprimer" End With ' Change l'ordre des boutons OK and Cancel ' Donc le bouton d'option aura le centre PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront ' Montrez la boîte de dialogue Application.ScreenUpdating = True If PrintDlg.Show Then For Each cb In PrintDlg.CheckBoxes If cb.Value = xlOn Then MsgBox cb.Caption Sheets(cb.Caption).PrintOut End If Next cb Else MsgBox "Rien de selectionné.....Au revoir" End If
' Supprimez la feuille de dialogue provisoire (sans un avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub
Salutations
RGI
bonjour a tous peut on creer une macrocommande sous excel, pour imprimer automatiquement par une touche de fonction ,sur une imprimante xxxx,où, yyyy si oui
dite moi comment faire .
merci a tous
Bonjour
peut être avec ceci
Sub SelectSheets()
Dim i As Integer
Dim TopPos As Integer
Dim iBooks As Integer
Dim PrintDlg As DialogSheet
Dim CurrentSheet As Worksheet
Dim cb As CheckBox
Application.ScreenUpdating = False
' Vérifier la protection du workbook
If ActiveWorkbook.ProtectStructure Then
MsgBox "Classeur est protégé.", vbCritical
Exit Sub
End If
' Ajoutez une feuille de dialogue provisoire
Set CurrentSheet = ActiveSheet
Set PrintDlg = ActiveWorkbook.DialogSheets.Add
iBooks = 0
' Ajoutez les boîtes à cocher
TopPos = 40
With ActiveWorkbook
For i = 1 To .Sheets.Count
If .Sheets(i).Name <> PrintDlg.Name Then
Set CurrentSheet = .Sheets(i)
' Passer les feuilles vides et les feuilles cachées
iBooks = iBooks + 1
PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5
PrintDlg.CheckBoxes(iBooks).Text = _
Sheets(i).Name
TopPos = TopPos + 13
End If
Next i
End With
' Déplacer les boutons OK et Cancel
PrintDlg.Buttons.Left = 240
' Réactivez la feuille originale
CurrentSheet.Activate
PrintDlg.Visible = False
' Hauteur, largeur et titre du dialogue
With PrintDlg.DialogFrame
.Height = Application.Max _
(68, PrintDlg.DialogFrame.Top + TopPos - 34)
.Width = 230
.Caption = "Choisissez les feuilles à imprimer"
End With
' Change l'ordre des boutons OK and Cancel
' Donc le bouton d'option aura le centre
PrintDlg.Buttons("Button 2").BringToFront
PrintDlg.Buttons("Button 3").BringToFront
' Montrez la boîte de dialogue
Application.ScreenUpdating = True
If PrintDlg.Show Then
For Each cb In PrintDlg.CheckBoxes
If cb.Value = xlOn Then
MsgBox cb.Caption
Sheets(cb.Caption).PrintOut
End If
Next cb
Else
MsgBox "Rien de selectionné.....Au revoir"
End If
' Supprimez la feuille de dialogue provisoire (sans un avertissement)
Application.DisplayAlerts = False
PrintDlg.Delete
End Sub
Salutations
RGI
bonjour a tous
peut on creer une macrocommande sous excel, pour imprimer automatiquement
par une touche de fonction ,sur une imprimante xxxx,où, yyyy
si oui
Sub SelectSheets() Dim i As Integer Dim TopPos As Integer Dim iBooks As Integer Dim PrintDlg As DialogSheet Dim CurrentSheet As Worksheet Dim cb As CheckBox Application.ScreenUpdating = False ' Vérifier la protection du workbook If ActiveWorkbook.ProtectStructure Then MsgBox "Classeur est protégé.", vbCritical Exit Sub End If ' Ajoutez une feuille de dialogue provisoire Set CurrentSheet = ActiveSheet Set PrintDlg = ActiveWorkbook.DialogSheets.Add iBooks = 0 ' Ajoutez les boîtes à cocher TopPos = 40 With ActiveWorkbook For i = 1 To .Sheets.Count If .Sheets(i).Name <> PrintDlg.Name Then Set CurrentSheet = .Sheets(i) ' Passer les feuilles vides et les feuilles cachées iBooks = iBooks + 1 PrintDlg.CheckBoxes.Add 78, TopPos, 150, 16.5 PrintDlg.CheckBoxes(iBooks).Text = _ Sheets(i).Name TopPos = TopPos + 13 End If Next i End With ' Déplacer les boutons OK et Cancel PrintDlg.Buttons.Left = 240 ' Réactivez la feuille originale CurrentSheet.Activate PrintDlg.Visible = False ' Hauteur, largeur et titre du dialogue With PrintDlg.DialogFrame .Height = Application.Max _ (68, PrintDlg.DialogFrame.Top + TopPos - 34) .Width = 230 .Caption = "Choisissez les feuilles à imprimer" End With ' Change l'ordre des boutons OK and Cancel ' Donc le bouton d'option aura le centre PrintDlg.Buttons("Button 2").BringToFront PrintDlg.Buttons("Button 3").BringToFront ' Montrez la boîte de dialogue Application.ScreenUpdating = True If PrintDlg.Show Then For Each cb In PrintDlg.CheckBoxes If cb.Value = xlOn Then MsgBox cb.Caption Sheets(cb.Caption).PrintOut End If Next cb Else MsgBox "Rien de selectionné.....Au revoir" End If
' Supprimez la feuille de dialogue provisoire (sans un avertissement) Application.DisplayAlerts = False PrintDlg.Delete End Sub
Salutations
RGI
bonjour a tous peut on creer une macrocommande sous excel, pour imprimer automatiquement par une touche de fonction ,sur une imprimante xxxx,où, yyyy si oui