Boite de dialogue pour nombre d'impression.
Résolu
Villette54
Messages postés
300
Date d'inscription
Statut
Membre
Dernière intervention
-
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Villette54 Messages postés 300 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
J'ai sur un classeur Excel, un bouton qui me permet d'imprimer une feuille cachée du classeur.
Chaque clique sur le bouton permet de lancer une impression.
J'aimerais cependant effectuer un petit changement, j'aimerais avoir une boite de dialogue afin de de demander le nombre d'impression souhaitée !
Voici mon code actuel :
Merci d'avance pour votre aide.
J'ai sur un classeur Excel, un bouton qui me permet d'imprimer une feuille cachée du classeur.
Chaque clique sur le bouton permet de lancer une impression.
J'aimerais cependant effectuer un petit changement, j'aimerais avoir une boite de dialogue afin de de demander le nombre d'impression souhaitée !
Voici mon code actuel :
Sub Button8_Click() If MsgBox("Êtes-vous sûr de vouloir imprimer la feuille pour les opérateurs ?", vbQuestion + vbYesNo, "Confirmation") = vbYes Then Application.DisplayAlerts = False Application.ScreenUpdating = False Sheets("Impression").Visible = True ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _ IgnorePrintAreas:=False Sheets("Impression").Visible = False Sheets("Encodage").Range("A1").Select Application.DisplayAlerts = True Application.ScreenUpdating = True Else: MsgBox "Impression annulé !" End If End Sub
Merci d'avance pour votre aide.
A voir également:
- Boite de dialogue pour nombre d'impression.
- Spouleur d'impression - Guide
- Impression livret a5 - Guide
- Boite gmail saturée - Guide
- Dialogue boost - Accueil - Guide streaming
- Boite gmail bloquée - Guide
1 réponse
Bonjour,
Créé une textbox (nommée textbox1) et essaye ca :
Créé une textbox (nommée textbox1) et essaye ca :
Sub Button8_Click() If MsgBox("Êtes-vous sûr de vouloir imprimer la feuille pour les opérateurs ?", vbQuestion + vbYesNo, "Confirmation") = vbYes Then If TextBox1.Text = "" Then MsgBox "Entrer un nombre de copie" Else If IsNumeric(TextBox1.Value) = False Then MsgBox "Entrer une valeur numérique" Else Application.DisplayAlerts = False Application.ScreenUpdating = False Sheets("Impression").Visible = True ActiveWindow.SelectedSheets.PrintOut Copies:=TextBox1.Value, Collate:=True, _ IgnorePrintAreas:=False Sheets("Impression").Visible = False Sheets("Encodage").Range("A1").Select Application.DisplayAlerts = True Application.ScreenUpdating = True End If End If Else: MsgBox "Impression annulé !" End If
Mais je suis débutant en VBA, qu'entendez-vous par "Créé une textbox (nommée textbox1)" ? Et comment puis-je le faire ?
Merci d'avance.
ergor entend par là un formulaire utilisateur (appelé UserForm), dont tu peux faire le design avec la souris. Mais je pense qu'il y a plus simple avec un InputBox (qui est une sorte de UserForm prédéfini comme un MsgBox). Tu peux essayer :
Cela ne nécessite que la copie de ce code en remplacement de l'existant.
Désolé si ça plante (je n'ai pas essayé), fais-moi savoir si ça fonctionne.
A+
En revanche, pour ton code il fonctionne parfaitement mais j'aimerais savoir si une petite modification est possible ? Est-il possible d'avoir une msgbox si la valeur entrée n'est pas un nombre entier ou qu'elle est vide ?
Par contre je viens de me rendre compte que mon bouton n'imprimait pas la feuille "impression" mais la feuille où est situé le bouton, il va falloir que je regarde à ça aussi...
Merci.
Sub Button8_Click()
c=InputBox("Combien de copies voulez-vous imprimer ?")
While (c="" Or IsNumeric(c)=False)
c=InputBox("Combien de copies voulez-vous imprimer ?")
Wend
If c = "" Then
MsgBox "Entrer un nombre de copie"
Else
If IsNumeric(c) = False Then
MsgBox "Entrer une valeur numérique"
Else
Application.DisplayAlerts = False
Application.ScreenUpdating = False
Sheets("Impression").Visible = True
ActiveWindow.SelectedSheets.PrintOut Copies:=c, Collate:=True, _
IgnorePrintAreas:=False
Sheets("Impression").Visible = False
Sheets("Encodage").Range("A1").Select
Application.DisplayAlerts = True
Application.ScreenUpdating = True
end if
End Sub
Autre petit soucis, si je clique sur annuler ou fermer le userform se recharge à l'infini (impossible de renoncer à l'impression une fois qu'on a cliqué sur le bouton)
Code actuel :