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 :

Interface préparation de commandes


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Points : 0
    Points
    0
    Par défaut Interface préparation de commandes
    Bonjour à tous,

    Nouvel arrivant sur le forum, je remercie par avance tous les contributeurs pour leur patience et leur compréhension.

    Je cherche à élaborer un outil de préparation de commandes qui fonctionnerait comme suit :

    A - une liste des commandes est matérialisée par la feuille 2 d'un classeur Excel. En colonne A (par exemple) de cette feuille 2, se trouvent les références clients, en colonne B, le nom du client et en colonne C, les quantités commandées, ligne par ligne pour chaque client. Un même client peut passer plusieurs commandes et donc avoir plusieurs références client.

    B - l'interface préparateur se trouve sur la feuille 1 du même classeur Excel. Sur cette feuille, apparaissent :
    - en A1 (par exemple) la référence client,
    - en B1 le nom du client,
    - en C1 des valeurs saisies ou scannées (barcode) des codes articles correspondant au panier du client. Ces valeurs ou codes articles sont des chaines alphanumériques de longueur variable, séparées entre elles par une virgule ou un espace.

    Lorsque le nombre de ces codes articles (sans compter le séparateur virgule) saisis ou scannés en C1 correspond à la quantité de la colonne C de la référence client en feuille 2, la ligne correspondant à la référence client est traitée et on copie dans une feuille 3 créée automatiquement dans le même classeur :
    - en colonne A la référence client,
    - en colonne B les codes articles commandés, séparés par une virgule ou un espace.

    Une fois cette copie effectuée, la cellule C1 est vidée disponible pour la référence client suivante. Le processus est répété pour chaque référence (ligne) de la feuille 2.

    Un compteur situé quelque part sur cette feuille 1 indique le numéro de client traité (il peut y avoir 1500 lignes à traiter, et j'aimerais que l'on voit par exemple 125/1500 pour que l'opérateur sache qu'il traite la 125ème commande).

    C - après le traitement de toutes les lignes de la feuille 2, la feuille 3 nommée par exemple "cdes XXX 12.05.2021", contient en colonne A les références clients, et en colonne B, les valeurs ou codes articles séparés par une virgule dans une même cellule, pour chaque référence client. Une feuille 4 sera créée de la même façon si on devait traiter une autre liste de commandes.

    Pour l'ergonomie de l'interface de la feuille 1, j'aimerais que la référence en A1, le nom du client en B1 soit très nettement visible et lisible (taille de texte) et que la cellule C1 (le panier) occupe une large zone de la feuille. C'est pourquoi je ne suis pas spécialement attaché à obtenir ces valeurs spécialement dans des cellules en A1, B1 ou C1, et des "boites" feraient très bien l'affaire. Je n'ai utilisé des références de cellule que pour l'exposé de mon problème.

    J'espère que ma description est suffisamment claire .

    J'ai essayé de traiter le sujet avec des formules, avec des bouts de code, mais je pense qu'il faut recourir à VBA de façon plus efficace ce dont je suis incapable.

    Je vous remercie par avance pour vos retours et commentaires.

    Cordialement
      0  0

  2. #2
    Nouveau Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Points : 0
    Points
    0
    Par défaut VBA interface préparation de commande
    Bonjour,

    Apparemment, ma demande ne soulève pas l'enthousiasme. Navré, je connais mon besoin, mais pas VBA.

    Essayons de simplifier afin d'avancer par étape :

    1. j'aimerais connaitre le code VBA pour compter le nombre de mots dans une cellule (ou le nombre de séparateurs +1) d'une feuille, par exemple la feuille 1?
    2. en fonction de ce nombre de mots, copier le contenu de cette cellule dans une autre feuille du même classeur Excel.
    3. une fois le contenu copié, effacer le contenu de cette cellule dans la feuille 1 pour la rendre disponible pour de nouvelles entrées.
    4. répéter ce processus pour toutes les valeurs contenues dans une 3ème feuille.

    Merci pour votre aide.
      0  0

  3. #3
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    Salut, je pense que ce que tu demandes requiert un développement complet, ce qui veut dire long et fastidieux. Tu as deux solutions qui s'offrent a toi :

    1. Apprendre par toi même et poser des questions au fur et a mesure quand tu bloque ---> tu engage en grande partie ton temps et une petite partie du notre
    2. Payer un pro qui, en fonction de ton cahier des charges, te développera ton besoin sur mesures ---> tu paye pour le temps engagé par un tiers

    Ici c'est un forum, on aide les gens a apprendre, on ne développe pas de solution sur mesures car... Nous sommes bénévoles !

    Il me parait donc hautement improbable que tu obtienne ce que tu veux tout cuit ici.

    Et pour répondre a ta dernière publication, les gens qui connaissent VBA (et comme toute les autres disciplines) l'ont appris. Donc quand tu dis ne pas connaitre VBA la réponse est : apprends.

    Ton projet est un bon exercice pour le faire. Par contre ne viens pas ici avec tes demandes en attendant qu'on te sorte du code. Essaye d’abord de coder et reviens avec un code quand tu bloque.

    Désolé
      1  0

  4. #4
    Nouveau Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    Bonjour,

    D'abord merci pour ton retour (on se tutoie, donc).
    Ensuite, je n'ai jamais attendu un développement "tout cuit" en posant ma question ici. Mais plutôt des conseils.
    Ceci, merci beaucoup pour la lecture de ma demande, cependant, comme il n'y aucune question sur ma description, que dois-je en déduire ? Ben, pas grand-chose au vu de ta réponse.
    Enfin, je te remercie infiniment pour le "Apprends", ça je dois dire, comme réponse, c'est lumineux et ça fait plaisir.
    Extrêmement attentif à tes conseils éclairés,
      0  1

  5. #5
    Membre confirmé
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2021
    Messages
    334
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2021
    Messages : 334
    Points : 602
    Points
    602
    Par défaut
    Excusez moi je vais vous vouvoyer puisque cela a l'air de vous déranger.

    Peu être êtes vous passé a coté du fait que nous somme sur un forum, on ne peut pas vous donner de conseil concernant le développement d'une solution si vous n'apportez que le cahier des charge de votre solution.

    Si vous voulez des conseil apportez du contenu en montrant a minima que vous êtes en capacité de faire une partie du développement seul. Quand je vous conseille d'apprendre, c'est en premier lieu les bases de VBA qui sont extrêmement bien renseignées. Et quand je vous dis ça je mesure mes paroles (ou écritures) car me trouvant dans votre situation il y a 5 ans c'est exactement ce que j'ai fait et ce que je fais encore.

    Si la question était "Puis-je développer cette solution sur VBA ?" alors la oui on aurait pu répondre mais ce n'est pas du tout ce que vous demandez.

    Vous allez même plus loin en disant que vous avez essayé de coder (code que vous avez apparemment omis de transmettre ici d'ailleurs) :
    J'ai essayé de traiter le sujet avec des formules, avec des bouts de code, mais je pense qu'il faut recourir à VBA de façon plus efficace ce dont je suis incapable.
    Ici vous ne rencontrez aucun problème si ce n'est que vous ne savez pas coder en VBA mais pour faire ce genre de projet assez volumineux, il faut savoir un minimum le faire. Vous nous montrez seulement que vous n'avez absolument rien essayé en nous balançant un cahier des charges d'un projet entier et dire que vous avez fait "des bouts de codes" n'y changera rien.

    Donc apprenez quelques bases, commencez a élaborer un code en y allant étape par étape. Quand il y a un bug ou que vous êtes coincé vous revenez ici en nous précisant votre point de blocage. Et si le point de blocage c'est que vous savez pas coder en VBA, alors ne vous attendez pas a ce que quelqu'un vous réponde, surtout sur un gros projet comme le votre.

    Bref, si vous voulez savoir si c'est possible de faire ça avec VBA alors la réponse est oui.
      3  0

  6. #6
    Nouveau Candidat au Club
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Mai 2021
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2021
    Messages : 4
    Points : 0
    Points
    0
    Par défaut
    On se vouvoie, oui, c'est mieux.

    Eh bien, je suis très surpris de votre message que je trouve encore moins cordial que le premier qui était dans genre remarquable du point de vue agressivité (oui, oui, agressif).

    C'est top comme accueil.

    Mais bon c'est votre point de vue, et comme je l'ai écrit, je n'ai nullement sollicité une contribution gratuite mais des commentaires.

    Reprenez cher Monsieur, la première phrase de mon premier message : "Nouvel arrivant sur le forum, je remercie par avance tous les contributeurs pour leur patience et leur compréhension."
    Vous, vous traduisez ça par : "merci de faire le boulot pour moi." ? Alors, oui, je pense que vous avez un problème.

    Au passage, j'apprécie le fait que ma définition soit suffisamment claire au point que vous la qualifiiez de cahier des charges, et si vous répondez oui c'est faisable, cela confirme bien que je suis dans un forum susceptible de m'aider.

    Bien entendu, je ne parle pas de votre aide à vous nécessairement, ...

    Je viens de me relire avant de poster et comme je n'ai rien trouvé de directif ou d'agressif dans ce que je viens d'écrire, je suis d'accord pour le publier.
      0  3

  7. #7
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Citation Envoyé par decolit Voir le message
    On se vouvoie, oui, c'est mieux [...] (oui, oui, agressif) [...]
    Bienvenue sur ce forum d'entraide.
    Ici, comme sur tous le forum "techniques", il est usuel d'employer le tutoiement, ça n'a rien d'agressif.

    J'ai relu l'ensemble de ce fil et, si les réponses ne sont pas édulcorées, elle ne me paraissent pas pour autant agressives.

    Notre ami Marcel, que de salue au passage , a posté un billet qui résume bien les attentes
    des contributeurs (bénévoles) de ce forum et de la plupart des forums similaires :
    https://www.developpez.net/forums/bl...puis-demarche/
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur
      1  1

Discussions similaires

  1. Préparation de Commandes (Metaheuristiques)
    Par Amiral56 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 08/07/2013, 12h39
  2. Question : Algorithme de préparation de commande
    Par Totik dans le forum Autres Logiciels
    Réponses: 0
    Dernier message: 10/06/2012, 06h53
  3. interface glade et commande
    Par samo_sa dans le forum C
    Réponses: 1
    Dernier message: 01/04/2010, 13h09
  4. Requête pour préparation de commande fournisseur
    Par fraginfo dans le forum Requêtes
    Réponses: 1
    Dernier message: 30/04/2008, 22h32

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