VBA - Ecrire dans Excel en arrière plan d'un Userform

Bonjour,

Je cherche une fonction VBA qui me permettrait d'agir sur Excel comme si il n'y avait pas de macro... Je m'explique :

J'ai récemment acheté un scanner à code barre et je voudrais avec celui ci recenser des produits dans un tableau excel.

Celui ci me permet d'enregistrer les numéros de code barre dans l'appareil et lorsque que je le souhaite, de les retranscrirent dans un fichier excel en allant à la ligne pour chaque numero, jusque là tout va bien.

Ce qui ce complique c'est que je souhaite passer par VBA pour avoir une interface de base me permettant de faire plusieurs choses dont une (là est mon problème) serait de retranscrire la liste sauvegarder par le scanner directement dans mon excel.

Je cherche, pour faire simple, une solution pour mettre "en pause" la macro, me laisser rentrer mes données dans mon fichier Excel et reprendre ma macro par la suite.

J'ai deja essayer d'utiliser un TextBox pour rentrer mon texte mais celui ci se rentre en ligne et je n'ai donc aucun moyen de distinguer mes différents numéros pour les réécrire dans mon fichier....

Merci d'avance de votre aide, j'espère avoir été assez claires dans mes explications...

PS : Je suis nouveau donc je ne sais pas si j'ai tout fais dans les règles, enfin je le souhaite. N'hésitez pas à me le signaler sinon

Pour l'instant, j'utilise la fonction "ShowModal" qui me permet de modifier l'excel en arrière plan mais c'est la userform qui reste au premier plan, ainsi si je ne clic pas sur le fichier Excel, la moindre commande par le clavier ou du scanner me ferme la UF et me laisse sur l'excel. Je cherche donc simplement le fonction qui pourrait remplacer ce "clic" de la souris pour activer la redaction direct sur l'excel.

Merci d'avance à ceux qui pourrons m'aider.

bonjour,

J'ai récemment acheté un scanner à code barre et je voudrais avec celui ci recenser des produits dans un tableau excel.

Très bien !

Celui ci me permet d'enregistrer les numéros de code barre dans l'appareil

Quel appareil ? Un scanner (douchette) n'enregistre rien.

et lorsque que je le souhaite, de les retranscrire dans un fichier excel en allant à la ligne pour chaque numero

Là ça commence à devenir fumeux ton concept :

Lorsque tu te sers de ta douchette c'est que tu veux écrire directement dans ta feuille Excel en allant à la ligne pour chaque numéro.

Ce qui ce complique c'est que je souhaite passer par VBA pour avoir une interface de base me permettant de faire plusieurs choses dont une (là est mon problème) serait de retranscrire la liste sauvegarder par le scanner directement dans mon excel.

Je cherche, pour faire simple, une solution pour mettre "en pause" la macro, me laisser rentrer mes données dans mon fichier Excel et reprendre ma macro par la suite.

OULALA : Ton "blabla" est incompréhensible :

L'interface c'est le UserForm, pas VBA...

Un scanner (une douchette) ne fait pas de "liste sauvegardé" c'est également une interface entre toi et ta feuille. Il n'y a donc aucune raison d'interposer un UserForm entre la feuille et la douchette.

Si vraiment tu dois utiliser un UserForm, c'est surement pas pour faire une liste ou alors c'est que le concept est foireux. Normalement un UserForm ne traite qu'une ligne à la fois.

Ta douchette doit écrire directement dans la feuille : pas besoin de USF pour cela. Une douchette c'est comme un clavier sauf que ça rentre tous les chiffres en une seule fois.

Enfin si tu dois mettre en pause une macro, c'est qu'elle est mal fichue !

Bref tout cela te donne l'étendu de notre incompréhension.

En conclusion : Revoir ton mode opératoire avec une saisie directe de la douchette sur la feuille.

Ensuite tu reviens en joignant le fichier...

A+

Bonjour,

Quel accueil dans que de recevoir dès la deuxième ligne de la réponse à mon premier post sur ce forum que ce que je demande n’est rien que du « Blabla ».

Maintenant pour vous répondre monsieur le « passionné d’Excel », avant d’affirmer quelconque propos, il serait agréable que soit vous vous renseignez, soit que vous ne preniez meme pas la peine de répondre car il existe en effet des scanner à barre code (douchette) qui ont de la memoire et qui permettent donc d’enregistrer un certain nombre non négligeable de codes (Environ 100 000 pour la mienne) et qui sur un simple scan particulier transmettent (via USB ou Wifi) l’ensemble de ces codes dans n’importe quel logiciel de traitement de texte/base de donnée. Et c'est bien de là que vient mon problème justement. Je souhaite en l’occurence utiliser Excel dans mon cas et lorsque que je lance la synchronisation, comme dis dans mon precedent poste, les numéros s’inscrivent l’un en dessous des autres.

De plus si je souhaite utiliser une macro c’est simplement pour avoir un interface simplifiée et ciblée sur les actions étant possible de faire car ce programme devrait être utilisé non pas par moi-même mais par des personnes n’ayant pas forcement de connaissance en Excel.

Cependant je sais bien que les UserForm ne traitent qu’une ligne à la fois et c’est bien pour ca que je cherche à mettre la macro en pause pour avoir directement accès à la modification de ma feuille de calcul sans pour autant qu’elle soit qualifier de foireuse.

Bref j’ai trouvé un solution qui me convient, et ce n’est en tout cas pas grace à vous Monsieur le passionné d’Excel.

Je m’adresse à present à touts les autres personnes qui pourraient avoir la meme problématique que moi qui est finalement, que lors d’un programme avec des UserForms, pouvoir avoir accès directement à la feuille Excel pour la modifier ou rentrer des données ou autre.

Pour cela :

  • J’ai configurer le Userform à cacher en ShowModal = false dans ces propriétés (Cela permet de pouvoir agir sur le classeur Excel)
  • J’ai fait apparaitre le classeur en question et cacher le UserForm (.Visible ou Show/Hide) Cela depend de vous.
  • J’ai choisi la cellule qui est visée par mon curseur en visant d’abord la Feuille puis la cellule :
Sheets(Feuil1).Activate

Sheets(Feuil1).Range("A" & 1).Select

- J’ai intégré à ma feuille Excel un Bouton de Commande DANS ma feuille Excel (directement à partir de l’onglet Développeur) qui me permet de faire mon retour menu.

Par ce biais, j’arrive a avoir directement une cellule sélectionnée et active (Je veux dire que je ne suis pas obliger de recliquer dessus avec ma souris pour pouvoir écrire quelque chose dedans) dans laquelle je peux directement lancer le collage de mes codes barres.

Bref, j’espère pouvoir aider par ce post les prochains qui auront mon problème.

A bientôt dans ce forum, pour moi ce post est « résolu » !

Rechercher des sujets similaires à "vba ecrire arriere plan userform"