OVH Cloud OVH Cloud

Imprimer à l'aide d'une InputBox.

8 réponses
Avatar
Jipé
Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit déterminé
par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée 3
fois).
(Si je saisie "2", la facture sera
imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub

8 réponses

Avatar
ru-th
Salut

ActiveWindow.SelectedSheets.PrintOut Copies:=(InputBox("nombre
d'impression", , 1)) * 1

a+
rural thierry
"Jipé" a écrit dans le message de news:
#
Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit
déterminé

par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée 3
fois).
(Si je saisie "2", la facture sera
imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub




Avatar
Jipé
Bonjour Thierry, Re le Forum,

Merci Thierry, ça imprime.
Une petite explication la dessus (", , 1)) * 1) me rendrait bien service.
(pour la compéhention).

Lorsque l'InpuBox s'ouvre, j'ai 2 boutons.
1) = OK "Pas de souci".
2) = Annuler "Celui-ci me pose problème. Lorsque je l'utilise, j'ai droit
à:
Erreur d'exécution 13--------Incompatibilité de type.
Dans l'éditeur V.B., "ActiveWindow.SelectedSheets.PrintOut
Copies:=(InputBox("nombre
d'impression", , 1)) * 1" est surligné.

Jipé




"ru-th" a écrit dans le message de
news:
Salut

ActiveWindow.SelectedSheets.PrintOut Copies:=(InputBox("nombre
d'impression", , 1)) * 1

a+
rural thierry
"Jipé" a écrit dans le message de news:
#
Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit
déterminé

par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée 3
fois).
(Si je saisie "2", la facture
sera


imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub








Avatar
sabatier
et si, Jipé, tu mets une variable pour ton Inputbox du style Impr =
Inputbox....tu peux peut-être ensuite écrire :
ActiveWindow.SelectedSheets.PrintOut Copies:= & Impr

mais c'est peut-être aussi une énorme conceté, comme dirait philippe R
qui n'en est plus à une près, LUI...
jps

ru-th a écrit:
Salut

ActiveWindow.SelectedSheets.PrintOut Copies:=(InputBox("nombre
d'impression", , 1)) * 1

a+
rural thierry
"Jipé" a écrit dans le message de news:
#

Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit


déterminé

par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée 3
fois).
(Si je saisie "2", la facture sera
imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub









Avatar
sabatier
peut-être que dans le cas qui te préoccupe, Jipé, mon système de
variable mais il ne faudrait pas dans cette hypothèse donner une valeur
par défaut à ton Inputbox (il faudra donc y taper 1, 2, 3 etc...selon le
nombre de copies souhaitées) ; il te suffira alors d'écrire :

If Impr = "" Then Exit Sub 'ou autre chose

jps

Jipé a écrit:
Bonjour Thierry, Re le Forum,

Merci Thierry, ça imprime.
Une petite explication la dessus (", , 1)) * 1) me rendrait bien service.
(pour la compéhention).

Lorsque l'InpuBox s'ouvre, j'ai 2 boutons.
1) = OK "Pas de souci".
2) = Annuler "Celui-ci me pose problème. Lorsque je l'utilise, j'ai droit
à:
Erreur d'exécution 13--------Incompatibilité de type.
Dans l'éditeur V.B., "ActiveWindow.SelectedSheets.PrintOut
Copies:=(InputBox("nombre
d'impression", , 1)) * 1" est surligné.

Jipé




"ru-th" a écrit dans le message de
news:

Salut

ActiveWindow.SelectedSheets.PrintOut Copies:=(InputBox("nombre
d'impression", , 1)) * 1

a+
rural thierry
"Jipé" a écrit dans le message de news:
#

Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit


déterminé

par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée 3
fois).
(Si je saisie "2", la facture


sera


imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub












Avatar
ru-th
le *1 n'est pas nécessaire !
plus efficace
Sub Macro1()
rep = InputBox("nombre d'impression", , 1)
If Not (IsNumeric(rep)) Or rep = "" Or rep < 1 Then Exit Sub
ActiveWindow.SelectedSheets.PrintOut Copies:=rep
End Sub

a+
rural thierry
"Jipé" a écrit dans le message de news:
OF#M#
Bonjour Thierry, Re le Forum,

Merci Thierry, ça imprime.
Une petite explication la dessus (", , 1)) * 1) me rendrait bien service.
(pour la compéhention).

Lorsque l'InpuBox s'ouvre, j'ai 2 boutons.
1) = OK "Pas de souci".
2) = Annuler "Celui-ci me pose problème. Lorsque je l'utilise, j'ai
droit

à:
Erreur d'exécution 13--------Incompatibilité de type.
Dans l'éditeur V.B., "ActiveWindow.SelectedSheets.PrintOut
Copies:=(InputBox("nombre
d'impression", , 1)) * 1" est surligné.

Jipé




"ru-th" a écrit dans le message de
news:
Salut

ActiveWindow.SelectedSheets.PrintOut Copies:=(InputBox("nombre
d'impression", , 1)) * 1

a+
rural thierry
"Jipé" a écrit dans le message de news:
#
Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit
déterminé

par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée
3



fois).
(Si je saisie "2", la facture
sera


imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub












Avatar
sabatier
pardon, Jipé, mais père brossollette a dit qu'il ne fallait pas utiliser
l'éperluette avant le nom de la variable...adonques, tu supprimes ce &
inopportun...
jps

sabatier a écrit:
et si, Jipé, tu mets une variable pour ton Inputbox du style Impr =
Inputbox....tu peux peut-être ensuite écrire :
ActiveWindow.SelectedSheets.PrintOut Copies:= & Impr

mais c'est peut-être aussi une énorme conceté, comme dirait philippe R
qui n'en est plus à une près, LUI...
jps

ru-th a écrit:

Salut

ActiveWindow.SelectedSheets.PrintOut Copies:=(InputBox("nombre
d'impression", , 1)) * 1

a+
rural thierry
"Jipé" a écrit dans le message de news:
#

Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit



déterminé

par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée 3
fois).
(Si je saisie "2", la facture sera
imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub












Avatar
Jipé
Mille mercis JPS,

je ne sais pas si le code (tel qu'il est) ,est écrit dans les règles de
l'art,
(c'est du copier-coller) mais il fonctionne sans bug.

Sub selFacture()
Dim Message, Impr
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Impr = InputBox(Message)
If Impr = "" Then Exit Sub
Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
ActiveWindow.SelectedSheets.PrintOut Copies:=Impr
End Sub

Merci encore.
Jipé

"sabatier" a écrit dans le message de
news:
peut-être que dans le cas qui te préoccupe, Jipé, mon système de
variable mais il ne faudrait pas dans cette hypothèse donner une valeur
par défaut à ton Inputbox (il faudra donc y taper 1, 2, 3 etc...selon le
nombre de copies souhaitées) ; il te suffira alors d'écrire :

If Impr = "" Then Exit Sub 'ou autre chose

jps

Jipé a écrit:
Bonjour Thierry, Re le Forum,

Merci Thierry, ça imprime.
Une petite explication la dessus (", , 1)) * 1) me rendrait bien
service.


(pour la compéhention).

Lorsque l'InpuBox s'ouvre, j'ai 2 boutons.
1) = OK "Pas de souci".
2) = Annuler "Celui-ci me pose problème. Lorsque je l'utilise, j'ai
droit


à:
Erreur d'exécution 13--------Incompatibilité de type.
Dans l'éditeur V.B., "ActiveWindow.SelectedSheets.PrintOut
Copies:=(InputBox("nombre
d'impression", , 1)) * 1" est surligné.

Jipé




"ru-th" a écrit dans le message de
news:

Salut

ActiveWindow.SelectedSheets.PrintOut Copies:=(InputBox("nombre
d'impression", , 1)) * 1

a+
rural thierry
"Jipé" a écrit dans le message de news:
#

Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit


déterminé

par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée
3




fois).
(Si je saisie "2", la facture


sera


imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub















Avatar
sabatier
formidable, Jipé : je n'aurais pas fait mieux...et le père brossollette
n'a plus qu'à remettre sa soutane et disparaître, honteux, dans son
confessionnal...
jps

Jipé a écrit:
Mille mercis JPS,

je ne sais pas si le code (tel qu'il est) ,est écrit dans les règles de
l'art,
(c'est du copier-coller) mais il fonctionne sans bug.

Sub selFacture()
Dim Message, Impr
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Impr = InputBox(Message)
If Impr = "" Then Exit Sub
Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
ActiveWindow.SelectedSheets.PrintOut Copies:=Impr
End Sub

Merci encore.
Jipé

"sabatier" a écrit dans le message de
news:

peut-être que dans le cas qui te préoccupe, Jipé, mon système de
variable mais il ne faudrait pas dans cette hypothèse donner une valeur
par défaut à ton Inputbox (il faudra donc y taper 1, 2, 3 etc...selon le
nombre de copies souhaitées) ; il te suffira alors d'écrire :

If Impr = "" Then Exit Sub 'ou autre chose

jps

Jipé a écrit:

Bonjour Thierry, Re le Forum,

Merci Thierry, ça imprime.
Une petite explication la dessus (", , 1)) * 1) me rendrait bien


service.


(pour la compéhention).

Lorsque l'InpuBox s'ouvre, j'ai 2 boutons.
1) = OK "Pas de souci".
2) = Annuler "Celui-ci me pose problème. Lorsque je l'utilise, j'ai


droit


à:
Erreur d'exécution 13--------Incompatibilité de type.
Dans l'éditeur V.B., "ActiveWindow.SelectedSheets.PrintOut
Copies:=(InputBox("nombre
d'impression", , 1)) * 1" est surligné.

Jipé




"ru-th" a écrit dans le message de
news:


Salut

ActiveWindow.SelectedSheets.PrintOut Copies:=(InputBox("nombre
d'impression", , 1)) * 1

a+
rural thierry
"Jipé" a écrit dans le message de news:
#


Bonjour le Forum,

Dans une barre d'outils personnalisée, lorsque je clique sur le bouton
"Facture", le code ci-dessous s'exécute.
1) Ouverture d'une InputBox avec pour valeur par défaut "1".
2) La plage "A8:H65" est sélectionnée.

Comment faire pour que le nombre d'impression de la facture, soit


déterminé


par
la saisie dans l'InputBox? (Si je saisie "3", la facture sera imprimée


3




fois).
(Si je saisie "2", la facture


sera



imprimée 2 fois).

etc.............................................
Merci
Jipé

Sub selFacture()
Dim Message, Title, Default, MyValue
' Définit le message.
Message = "Entrez une valeur comprise entre 1 et 10"
Title = "Impression de la facture" ' Définit le titre.
Default = "1" ' Définition la valeur par défaut.
' Affiche le message, le titre et la valeur par défaut.
MyValue = InputBox(Message, Title, Default)

Worksheets("Facture").PageSetup.PrintArea = "A8:H65"
End Sub