Lancement d'une macro par un scan de code-barres

bonjour à tous,

j'ai tenté d'adapter une macro que vous trouverez ci dessous mais, avec mon niveau debutant --, j'ai un petit probleme d'application.

Je souhaite tout simplement imprimer une selection de cellule dans lesquelles j'ai prealablement zippé des données (puis la macro fait une msgbox et Raz de la selection pour finir) lorsque je clic sur un code barre particulier.

La macro fonctionne quand je l'active par un bouton std dans excel.

par contre quand je zip le code barre "start"(ici la caractere "%"), la macro fait le cycle complet (selection +msgbox +RAZ cellule...) mais l'impression ne se fait pas.

je n'arrive pas a trouver pourquoi...Si quelqu'un peu m'aider.

Voila les codes effectués :

1- dans : VBA-thisworkbook :

Private Sub Workbook_Open()

Application.Goto Sheets("donnee").Range("a1")
Range("a1:a3").Select
Selection.ClearContents

MsgBox "nouvelle saisie"
Application.Goto Sheets("donnee").Range("a1")

Application.OnKey "{%}", "lancer"
End Sub

2- macro que je souhaite effectuer par la zipette :

Sub lancer()

Application.Goto Sheets("donnee").Range("a1")
Sheets("donnee").Range("A10:e20").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1 ', ActivePrinter:="QFR65608 on vpsx (DIRECT)"
'Selection.PrintOut  - marche pas non plus

'Application.Wait (Now + TimeValue("0:00:04")) '- j'ai essayé de laisser du temps...marche pas

Application.Goto Sheets("donnee").Range("a1")
Range("a1:a3").Select
Selection.ClearContents

Application.Goto Sheets("donnee").Range("a1")
MsgBox "nouvelle saisie"

End Sub

Merci de votre aide.

Bonjour,

A la place de "application.wait", essayer peut-être "doevents".

bonjour

essayer ca :

Sub lancer()
Application.Goto Sheets("donnee").Range("a1")
Sheets("donnee").Range("A10:e20").PrintOut Copies:=1 ', ActivePrinter:="QFR65608 on vpsx (DIRECT)"
Application.Goto Sheets("donnee").Range("a1")
Range("a1:a3").Select
Selection.ClearContents
Application.Goto Sheets("donnee").Range("a1")
MsgBox "nouvelle saisie"
End Sub

-----------------###################--------------------------------

rebonjour

ca a relation avec la boite de dialogue qui s affiche des fois

"Microsoft Office Excel ne trouve rien a imprimé"

Donc veuillez à ne pas vider la feuille à imprimer

-----------------###################--------------------------------

Bonjour Thev, Bonjour Amir

Merci de vos retours

J'ai essayé le "DoEvents" dans mon code apres la ligne

'ActiveWindow.SelectedSheets.PrintOut Copies:=1, ActivePrinter:="QFR65608.limo.volvo.net on vpsx (DIRECT)"

=>: NOK

j'ai essayé le code d'Amir : NOK

j'ai essayer de mettre DoEvents dans le code d'Amir.

Les 2 macros fonctionnent parfaitement depuis le bouton mais maleureusement, j'ai toujours le cas où seule l'impression ne fonctionne pas lorsque je zippe "%" en code barre. tout le reste marche.

bonjour

a tu vu ca

AMIR a écrit :

-----------------###################--------------------------------

rebonjour

ca a relation avec la boite de dialogue qui s affiche des fois

"Microsoft Office Excel ne trouve rien a imprimé"

Donc veuillez à ne pas vider la feuille à imprimer

-----------------###################--------------------------------

RE-bonjour,

non, j'avais pas vu

Du coup si j'ai bien compris,

j'ai essayé ce matin de faire du "pas a pas", de garder dans la macro que les lignes jusqu'a la commande print (du coup pas de clearcontent) mais rien ne se passe. puis j'ai essayé avec DoEvents en plus...meme avec un wait en plus.

Par contre, y'a bien un message "pop-up", mais trop rapide je vois pas de texte.

(cela dit y'a egalement une boite de dialogue "ephemere", que j'arrive pas a lire non plus, qui arrive quand j'execute la macro avec le bouton standard)

bonjour

noisy a écrit :

non, j'avais pas vu

Oui, je me suis douté

du coup, comme ecrit ce matin j'ai essayé de faire du "pas a pas", de garder dans la macro que les lignes jusqu'a la commande print (du coup pas de clearcontent) mais rien ne se passe. puis j'ai essayé avec DoEvents en plus...meme avec un wait en plus.

Tjs pareille pas d'impression...

Par contre, a la fin du pas a pas, quand je lance toute la macro, y'a bien un message "pop-up", mais trop rapide je vois pas de texte.

(cela dit y'a egalement une boite de dialogue "ephemere", que j'arrive pas a lire non plus, qui arrive quand j'execute la macro avec le bouton standard)

help...

tu peux renvoyer un fichier joint anonymise mais representatif

Encore merci de ton aide.

Trouve le fichier en PJ.

A l'ouverture y'a un ras des cellules A1 et A2

Puis une msgbox "nouvelle selection" (cf code en VBA-thisworkbook )

A ce moment l'operateur clic sur la message box puis vient zipper manuellement 2 codes barres qui s'affiche en A1 et A2.

C'est a ce moment que je souhaite lancer la macro en zipant le code barre du caractere "%"

La macro selection une zone pour impression - imprime - fait une ras -se remet a A1 + Msgbox "nouvelle selection"

=> boucle faite pret a repartir.

93etiquette.xlsm (25.18 Ko)

bonjour

meme le fichier que tu l a envoyé fonctionne, sauf si n est pas representatif ?!

je pense comme j ai dit avant :

ca a une relation avec la boite de dialogue qui s affiche des fois "Microsoft Office Excel ne trouve rien a imprimé"

Donc veuillez à ne pas vider la feuille ou la zone à imprimer

ou bien vous pouvez nommé les palges à imprimer a la place de les selectionner comme ca :

Sheets("donnee").Range("A10:e20").PrintOut Copies:=1

mais n utilisez pas :

.selection

Bonjour Amir,

C'est mon fichier origine, pas une copie, j'ai juste masqué le titre des lignes de mon étiquette à imprimer.

C'est bien mon probleme, c'est ce que j'ecris depuis le debut,la macro marche quand j'appuis sur le bouton

mais elle ne marche pas correctement (impression nok) quand zippe avec une zipette lecteur de code barre le carractere "%" qui lance ca : - Application.OnKey "{%}", "lancer" -

A ce moment là, la macro se lance fait tout mais elle n'imprime rien.

Pour l'histoire de message "rien a imprimer", comment je peux tenter de supprimer ca?

bonjour

noisy a écrit :

quand zippe avec une zipette lecteur de code barre le carractere "%"

cest quoi une zipette lecteur de code barre et comme et comment elle lance - Application.OnKey "{%}", "lancer" -

Re-bonjour,

cf PJ,

Quand je zippe le caractere "%" en police 'code barre 39' cf PJ. ca appel la macro "lance".

j'active cette fonction au demarage avec la ligne de commande dans 'thisworkbook' avec le :

Private sub

Application.OnKey "{%}", "lancer"

End sub.

Ca sa marche, ca appel la marcro "lance", ca selectionne / ca efface et ca affiche la messagebox sauf que ca imprime pas uniquement à l'appel de la macro par "%"

(Idee : dois-je definir dans le privatesub dans 'thisworkbook' l'imprimante par defaut?)

sans titre

Bonjour,

j'ai essayé par tous les moyens de faire fonctionner ma macro (imprimer) suite à un scan code bar "%" mais rien ne fonctionne...

voici ma macro:

Sub imprimer()

'

' imprimer Macro

'

'

Sheets("Ticket").Select

ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _

IgnorePrintAreas:=False

Sheets("Vente abo").Select

Application.OnKey "{%}", "ThisWorkbook.imprimer"

End Sub

est-ce que quelqu'un peut me dire ce que je fais faux dans mon visual basic?

merci d'avance pour votre réponse.

Rechercher des sujets similaires à "lancement macro scan code barres"