IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Imprimer feuille excel via lecteur de code barre [XL-365]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Logisitique
    Inscrit en
    Janvier 2018
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Logisitique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 190
    Points : 88
    Points
    88
    Par défaut Imprimer feuille excel via lecteur de code barre
    Bonjour, n'ayant pas assez de connaissances en vba excel, pourriez-vous m'aider à résoudre mon soucis.

    j'aimerai créer une feuille excel avec une case recevant une info d'une douchette code barre, l'action de la douchette indiquant la donnée dans la case et effectuant un ENTER, une procédure devrait se lancer pour imprimer automatiquement un fichier excel se trouvant dans un répertoire.

    Il me semble juste de travailler avec plusieurs variables pour définir le chemin ou se trouve le fichier à imprimer tel que le nom qui s'est affiché après le scan mais aussi d'autres critères tel dossier et sous dossier de ce nom de fichier qui serait sélectionné via un menu déroulant.

    l'utilisateur sélectionnerai deux menu déroulant donnant le dossier et le sous dossier et le scan donnerai le nom du fichier permettant ainsi de construire le chemin pour aller chercher le fichier à imprimer.

    Une case servirait en entrer le nombre de copies que l'on désire (avec test si utilisateur à bien rempli la case).

    une fois l'impression lancée, remettrai la case contenant la valeur du scan à zéro, permettant de scanner un autre code et d'imprimer un autre fichier.

    si l'utilisateur devrait changer de dossier ou sous dossier, il changerai via le menu déroulant pour sélectionner le début du chemin du ou des prochains fichiers à imprimer

    Merci de votre aide

  2. #2
    Membre émérite Avatar de Zekraoui_Jakani
    Homme Profil pro
    Inscrit en
    Novembre 2013
    Messages
    1 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2013
    Messages : 1 670
    Points : 2 489
    Points
    2 489
    Par défaut
    Il faut préciser votre version XL, ainsi que la police du code barre (128, UPC/EAN:, QR, ... etc).

    Voir ce site qui pourrait aider:
    https://www.smartsheet.com/content/e...Barcode%20row.

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Que la donnée soit entrée manuellement suivi de Enter ou avec une douchette c'est du pareil au même. Le programme fera le même travail.
    Il y a lieu de placer la ligne de démarrage du programme dans la procédure événementielle de la feuille où doit se faire l'encodage

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_Change(ByVal Target As Range)
      With Range("B2")
        If Target.Address = .Address Then
           MsgBox "Vous avez entré " & .Value
           .Select
        End If
      End With
    End Sub
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre régulier
    Homme Profil pro
    Logisitique
    Inscrit en
    Janvier 2018
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Logisitique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 190
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par Zekraoui_Jakani Voir le message
    Il faut préciser votre version XL, ainsi que la police du code barre (128, UPC/EAN:, QR, ... etc).

    Voir ce site qui pourrait aider:
    https://www.smartsheet.com/content/e...Barcode%20row.
    Bonjour et merci de la réponse, j'utilise excel 365 mais comme dis plus haut, la procédure qu'elle soit effectuée avec le scanner ou manuellement suivi d'un ENTER reste la même car le scanner à la lecture du code barre indique un numéro faisant référence à un nom de document word(.doc) et effectue un ENTER.
    Mon soucis ne se situe pas au niveau du lecteur code barre mais à la procédure à effectuer en VBA pour imprimer le document concerné automatiquement.

  5. #5
    Membre régulier
    Homme Profil pro
    Logisitique
    Inscrit en
    Janvier 2018
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Logisitique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 190
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    Que la donnée soit entrée manuellement suivi de Enter ou avec une douchette c'est du pareil au même. Le programme fera le même travail.
    Il y a lieu de placer la ligne de démarrage du programme dans la procédure événementielle de la feuille où doit se faire l'encodage

    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub Worksheet_Change(ByVal Target As Range)
      With Range("B2")
        If Target.Address = .Address Then
           MsgBox "Vous avez entré " & .Value
           .Select
        End If
      End With
    End Sub
    Merci pour la réponse et ce début de code permettant une action lors de la rentrée d'une information en case B2 pour l'exemple.

    le tout est de trouver la procédure imprimant ce document et remettant la valeur B2 vierge prête à recevoir une nouvelle information et un nouvel ENTER.

    Si je peux être difficile, j'ai beaucoup de documents .DOC se situant dans un même dossier, mais dans des sous-dossiers différents. Est-il possible afin de ne pas devoir sélectionner manuellement le dossier et le sous-dossier ou se trouve le document à imprimer, que la procédure puisse aller rechercher le dossier concerné dans un des sous-dossiers juste grâce à son nom récupéré en B2 suivi de l'extension .doc
    Une fois trouver, il l'imprimerai à un nombre d'exemplaires désigné et remettrai la case B2 vierge et prêt à recommencer une nouvelle procédure....
    2

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    le tout est de trouver la procédure imprimant ce document et remettant la valeur B2 vierge prête à recevoir une nouvelle information et un nouvel ENTER.
    Pour effacer la cellule B2, c'est tout simplement la méthode Clear ou ClearContents, si l'on souhaite conserver le format de la cellule, de l'objet Range

    Si je peux être difficile, j'ai beaucoup de documents .DOC se situant dans un même dossier, mais dans des sous-dossiers différents. Est-il possible afin de ne pas devoir sélectionner manuellement le dossier et le sous-dossier ou se trouve le document à imprimer, que la procédure puisse aller rechercher le dossier concerné dans un des sous-dossiers juste grâce à son nom récupéré en B2 suivi de l'extension .doc
    Une fois trouver, il l'imprimerai à un nombre d'exemplaires désigné et remettrai la case B2 vierge et prêt à recommencer une nouvelle procédure....
    2
    Tout est possible
    Si vous connaissez le dossier où se trouve le document à imprimer en fonction du code scanné, il suffit de créer une table de correspondance, reprenant le chemin et le nom du document et comme on le ferait avec n'importe quelle liste de données, on utilisera RECHERCHEV ou INDEX, les deux combinés à EQUIV et ensuite à l'aide du code VBA, on ouvre le fichier que l'on imprime et ensuite on ferme.
    Trois, quatre lignes de code et c'est emballé
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  7. #7
    Membre régulier
    Homme Profil pro
    Logisitique
    Inscrit en
    Janvier 2018
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Logisitique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 190
    Points : 88
    Points
    88
    Par défaut
    créer une table de correspondance me pose problème, car des documents seront ajoutés par d'autres utilisateur qui ne mettront pas ma table de correspondance à jour.

    Je pensais peut être avec des conditions regarde dans ce dossier et sous dossier un tel, si pas regarde dans le même dossier mais sous dossier un tel jusqu'à ce qu'il trouve le fichier correspondant et l'imprime...

    il n'y à pas plus de 8 sous-dossiers à vérifier...

  8. #8
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 773
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    créer une table de correspondance me pose problème, car des documents seront ajoutés par d'autres utilisateur qui ne mettront pas ma table de correspondance à jour.
    S'il existe un code à scanner, il y a donc forcément quelques parts une liste des documents avec leur code correspondant

    Il y a une solution à tout. Il suffit juste de réfléchir à ce que l'on souhaite faire.
    Qu'est-ce que j'ai à ma disposition pour faire correspondre le code et le document associé ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  9. #9
    Membre régulier
    Homme Profil pro
    Logisitique
    Inscrit en
    Janvier 2018
    Messages
    190
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Belgique

    Informations professionnelles :
    Activité : Logisitique

    Informations forums :
    Inscription : Janvier 2018
    Messages : 190
    Points : 88
    Points
    88
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    S'il existe un code à scanner, il y a donc forcément quelques parts une liste des documents avec leur code correspondant

    Il y a une solution à tout. Il suffit juste de réfléchir à ce que l'on souhaite faire.
    Qu'est-ce que j'ai à ma disposition pour faire correspondre le code et le document associé ?
    Malheureusement pas...
    Cela ne pourrai pas marcher avec des conditions...???

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation d'un lecteur de codes à barres
    Par banto_maxime dans le forum Access
    Réponses: 2
    Dernier message: 28/04/2006, 10h18
  2. utilisation d'un lecteur de code barre sous delphi
    Par bm10 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 19/11/2005, 20h05
  3. Programmer un lecteur de code à barre
    Par tleboukaka dans le forum Bases de données
    Réponses: 3
    Dernier message: 12/09/2005, 17h37
  4. imprimer feuille excel depuis access
    Par Jean Bonnisme dans le forum Access
    Réponses: 3
    Dernier message: 18/11/2004, 08h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo