VBA compter pour inserer

Bonjour à tous,

Je viens ici car j'ai un problème dans la resolution d'une de mes macros.

Je voudrais compter les composants d'un lot pour inserer le nombre correspondant de lignes et mettre les lots dans chaque ligne. ( Pour créer une sorte de pyramide historique).

J'ai essayé de faire un code qui me compterai le nombre de lots ( séparés par le tiret du 6) et mettrait la valeur dans une colonne puis un autre qui lirait ce nombre pour y inserer le bon nombre de lignes.
J'ai une erreur ca ne fonctionne pas.

Pour être plus claire j'ai mis un fichier en pièce jointe. Par exemple, pour la ligne 13 en jaune le numéro de lot colonne X a deux composants colonne AC je voudrais que sur ma feuille databse, je retrouve ce numéro de lot sur deux lignes avec un composant chacunes.

Est ce que quelqu'un aurait une correction pour mon code ou une solution fonctionelle?

Merci beaucoup

https://www.cjoint.com/c/HGnhKm3NEb6

7 réponses

  1. Bonjour

    J'ai allégé un peu le fichier
    Le code est dans le Module 2
    Ctrl+k pour lancer la macro ... à tester
    https://www.cjoint.com/c/HGotOMSCAlB

    Cdlmnt
    1
    1. Bonjour,

      Merci de votre réponse. Par contre la macro se lance bien mais elle ne met qu'un seul batch et un composant, si jamais j'ai deux composants je ne les vois pas. Si j'ai deux composants, il faudrait donc que j'ai deux lignes et ca ne fonctionne pas.

      Je loupe quelque chose?

      Merci
      0
    2. Re bonjour,

      En fait si c'est bon ca fonctionne avec deux petits changements. merci beaucoup!

      Bonne journée
      0
  2. Je ne sais pas si j'ai tout compris
    J'ai repris/complété ta procédure FinalBatch et l'ai mise dans Module 2
    https://www.cjoint.com/c/HGtnGsjPKdB
    A tester
    Ctrl+k pour lancer la macro

    Cdlmnt
    1
    1. Bonjour, Merci pour votre réponse, désolée de revenir si tard, j'ai pris quelques jours de congés et je n'avais pas de réseau...

      Je ne peux pas accéder au lien, il n'est pas valide. J'ai sans doute mis trop de temps à cliquer dessus, pourriez vous me le redonner?

      merci
      0
  3. https://mon-partage.fr/f/nzityrtV/
    1
    1. Merci c'est exactement cela que je voulais!

      merci beaucoup!
      0
    2. De rien

      Si c'est fini, peux tu mettre le sujet à résolu (en haut à droite, la roue dentée)

      Bonne fin de journée
      0
  4. Bonjour,

    Un dernière question, je voudrais modifier un peu la macro et qu'elle ne fasse le calcul que pour les batchs mentionnés en colonne A de mon onglet "database" j'ai essayé de le changer dans votre code mais je n'arrive pas à le faire marcher. Pourriez vous encore m'aider un peu?

    Merci
    0
    1. ne fasse le calcul que pour les batchs mentionnés en colonne A de mon onglet "database"
      Quel calcul ? La macro ne fait aucun calcul et se contente de remplir les colonnes A et B avec les données des colonnes X et AC de la feuille ZP0CL
      0
      1. Oui désolée, je n'utilise pas les bons termes, je voudrais qu'elle remplisse la colonne B data base avec les données de la colonne AC mais en fonction des valeurs de la colonne A de la feuille database ( La colonne A est remplie avec une macro qui ne prend que les infos que je veux dans la colonne X de l'onglet ZPOCL)

        Est ce que c'est plus clair?

        Merci
        0
    2. Pas plus clair !
      Actuellement, la macro transfère
      - dans la colonne A de la feuille Database les Batch (colonne X) de la feuille ZP0CL éventuellement dupliqués
      - dans la colonne B de la feuille Database les PreviousBatch (colonne AC) de la feuille ZP0CL dans la/les ligne/lignes correspondant à leur Batch

      La colonne A est remplie avec une macro qui ne prend que les infos que je veux dans la colonne X de l'onglet ZPOCL
      c'est là que ça coince !

      Le plus simple, renvoies mon fichier (plus léger) avec des explications détaillées et des exemples de résultats attendus.

      Cdlmnt
      0
      1. Bonjour,

        Actuellement, la macro transfère
        - dans la colonne A de la feuille Database les Batch (colonne X) de la feuille ZP0CL éventuellement dupliqués
        En fait je voudrais qu'elle ne transfère que les batchs terminaux que je lui ai fait chercher grace à la macro nommée final batch dans le module 1
        Ca remplit la colonne A avec les batchs dont j'ai besoin.

        - dans la colonne B de la feuille Database les PreviousBatch (colonne AC) de la feuille ZP0CL dans la/les ligne/lignes correspondant à leur Batch je voudrais qu'elle fasse la même chose mais seulement pour les batchs qui sont rentrés dans la colonne A de l'onglet database

        Voila mon fichier avec les macros dedans, si vous effacez le contenu des colonnes de la feuille databse et faites tourner la macro final batch vous aurez juste les batchs sur lequels je veux l'historique.

        J'espère que c'est mieux.

        Merci beaucoup pour votre temps.

        Lucie
        0