VBA - Rentrer la valeur "OK" lorsque le transfert est fait

Bonjour,

Je n'arrive pas à trouver la solution à mon soucis.

Je recherche à entrer la valeur "OK" lorsque ma macro "transfert" s'effectue.

Actuellement dans mon fichier j'ai 9 références renseignées. 2 sont "OK" donc déjà transférées et 7 ne le sont pas.

Lorsque ma macro se lance, elle va filtrer la colonne G pour ne plus afficher les "OK", ensuite copier les références restantes pour les coller dans la feuille "Fiche demande article". Ce que je cherche à faire ensuite c'est de revenir sur ma feuille "Tableau" pour mettre un "OK" dans la colonne G en face des références que l'on vient de transférer.

Merci par avance pour votre aide.

Loïs

Bonjour

Dans la feuille "Fiche demande article" doit-il n'y avoir que les lignes non marquées "OK" ?

Oui c'est exactement ça

Alors voici une proposition en utilisant des tableaux structurés ce qui présente de nombreux avantages.

Je vous fais confiance pour ce qui est des tableaux en revanche je n'ai pas la solution pour les "ok" en colonne "G" lorsque les références ont bien été transférées dans la fiche demande article.

Je ne sais pas si j'arrive à être clair sur mon besoin.

etape 1: la macro se lance et filtre sur "vide" la colonne G

etape 2 : copier les références en colonne B

etape 3 : coller ces références dans la feuille "Fiche demande article" en colonne A

Etape 4 : la désignation et l'emplacement s'ajoutent automatiquement (formules ou VBA peut importe)

Etape 5 : retour sur la feuille "Tableau"

etape 6 : Mettre "OK" en colonne G en face des références que l'on vient de transférer

etape 7 : effacer la fiche Article (car entre temps elle est enregistré, ça je l'ai déjà écrit)

Etape 8 : retour sur le feuille tableau ou l'on devrait voir apparaître ceci

image

et ceci dans la feuille "fiche demande article"

image

En résumé, la chose que je n'arrive pas à coder c'est mettre un "OK" en colonne G après le transfert des références sur la fiche demande article

Désolé j'avais zapper l'essentiel de la question. Voilà qui est corrigé. Juste deux lignes de code à ajouter

Bonjour,

Nickel merci beaucoup !! Je me permet de vous demander une dernière chose si possible.

Dans votre code, quand je l'active, les valeurs viennent s'ajouter toujours à partir de A2, est-ce possible de les mettre à partir de la première case vide en colonne A ?

Merci pour votre aide !

Vous pouvez oublier mon dernier message, j'ai trouvé une alternative

Encore merci pour la solution apportée et le temps que vous m'avez consacré.

Bonne journée

Bonjour

Y a qu'à demander

Bonjour,

excusez-moi pour cette réponse tardive mais merci beaucoup c'est parfait !

Bonne journée !

Bonjour Yal,

J'aurais besoin de tes services une nouvelle fois si possible.. Je vous avoue que je comprend pas trop votre code étant débutant..

Mon tableau de base s'est agrandi donc je pense avoir réussi à collecter les bonnes infos pour le transfert. La chose que je n'arrive pas à faire c'est qu'il me faudrait le numéro des chariots associés à chaque référence. Ce numéro ce trouve dans l'onglet "Chariot".

Est-il possible de m'aider ? s'il vous plait.

Pour cela j'ai recréé un fichier test.

2test-fichier.xlsm (34.97 Ko)

Merci

Loïs

Bonjour

Pourquoi ne pas intégrer la donnée "Charriot" au tableau nomenclature? Je ne comprends pas l'intérêt d'avoir un tableau séparé juste pour cette info.

Bonjour,

Je n'y ai pas pensé mais oui je peux fusionner les deux requêtes pour avoir cela dans la même feuille et même tableau.

Je vous remets le fichier avec les deux dans le même tableau.

Ensuite j'ai un petit ic.. Votre code marche parfaitement bien pour le fichier que je vous transmet, mais lorsque je l'ajoute à mon fichier entreprise cela ne fonctionne plus.

Admettons que j'ai 10 cellules qui ne contiennent pas "OK", la maccro devrait me ressortir un fichier avec 10 références, emplacement,... Or voici ce qu'il en ressort

image

Juste une matière apparaît et rien d'autre.

Depuis lundi je me triture le cerveau afin de comprendre d'où cela peut venir, j'ai écris, réécris le code, refais complètement le fichier, ... mais rien à faire cela ne fonctionne toujours pas pourtant j'ai exactement le même code sauf que les infos de rangement du fichier et l'adresse mail changent.

Ceci explique pourquoi je mets du temps à vous répondre car j'essai par moi-même avant de vous demander de l'aide mais la je vous avoue que je me décourage..

voici le fichier que j'ai refais en anonyme.

2test-fichier.xlsm (47.84 Ko)

Merci pour votre aide.

Loïs

Le code de ce fichier ne correspond pas au dernier code que j'ai fourni (excel-pratique1 yal v3.0.xlsm) difficile dans ces conditions d'y comprendre quoique ce soit.

Ah oui j'ai oublié de détailler, votre code figure pour la première étapes de ce que je souhaitais. C'est pour cela que je l'ai mis au début et qu'ensuite j'ai continué mon code pour avoir mon rendu final.

Pour tout vous expliquer, votre code me sert à sélectionner les lignes où la cellule J* ne contient pas de "OK" pour les rapporter dans l'onglet "Fiche demande article". puis pour finir mettre les ok dans les cellules qui viennent d'être transférées.

Ensuite je prend l'onglet "Fiche demande article" que j'enregistre en tant que fichier pour ensuite l'envoyer par mail.

ce code fonctionne dans le fichier test mais pas dans mon fichier entreprise alors que ce sont les deux mêmes codes.

Ca je l'avais bien compris, ce n'est pas de cela que je parle.

Dans votre code, quand je l'active, les valeurs viennent s'ajouter toujours à partir de A2, est-ce possible de les mettre à partir de la première case vide en colonne A ?

La version 3 corrigeait ce souci et ce n'est pas celle intégrée au dernier fichier.

De plus un tableau structuré ne devrait jamais contenir de ligne vide c'est une source de problème. Commencez donc par supprimer toutes les lignes du tableau "tb_Demandes".
Par ailleurs comment pourrais-je deviner où se situe le problème sur un fichier que je ne connais pas? Anonymisez le fichier concerné et postez le. Je pourrais peut être voir ce qui coince...

J'ai eu un petit soucis avec la version 3 donc j'ai construis mon fichier autour de la version 2 et cela fonctionne très bien.

Ensuite mon tableau ne comporte pas de ligne vide au départ, la photo que je vous ai envoyé est le résultat de mon soucis et j'ai trouvé ce qui n'allait pas. La saisie des codes articles n'était pas correcte donc le code transférait des lignes vierges puisque qu'il ne reconnaissait pas le code matière en fonction de la nomenclature.

Tout ceci est maintenant corrigé et je vous remercie des codes que vous avez fait pour moi qui m'a permis de bien avancer.

J'ai juste une dernière requête. Comme je ne comprend pas votre code et que je ne suis pas capable de l'écrire, j'aimerais si possible que le code VBA aille me chercher le numéro de chariot correspondant (présent dans le tableau nomenclature comme vous m'avez conseillé) à la référence de l'article et le transfère dans la colonne D de l'onglet "Fiche demande article".

Désolé pour le dérangement et les incompréhensions de ces derniers jours. Il m'est impossible d'anonymiser le fichier de base car il y a beaucoup trop d'informations à remplacer, quelques maccro à modifier, etc...

Merci pour votre compréhension et votre patience !

En fait non ça ne fonctionne pas très bien puisque cela efface systématiquement le tableau "tb_Demandes" à chaque fois qu'on fait un transfert.

Voici une version qui règle ce problème. J'ai déplacé la procédure d'envoi du mail dans une autre macro. Ça permet de savoir sur quelle partie du code on travaille. Pour enchainer les deux macros il suffit d'enlever l'apostrophe devant 'call EnvoiMail. J'ai aussi supprimé le point d'interrogation dans le nom du champ ce qui était une très mauvaise idée. Enfin j'ai ajouté quelques commentaires devraient permettre une meilleur compréhension du code. Par contre je n'ai pas saisi ce qu'il fallait faire de la colonne "Servi par".

Merci pour votre version elle marche très bien !

Et vous avez raison cela est beaucoup plus clair quand on sépare le code en plusieurs parties.

Pour finir la colonne "Servi par" sert après l'impression de cette feuille. Le collaborateur qui se charge d'une matière met son nom en face afin d'avoir un suivi si jamais nous rencontrons un soucis par la suite.

Je vous remercie beaucoup pour le temps que vous m'avez allouer. Vous m'avez beaucoup aidé !

Bonne fin de journée à vous.

Loïs

Rechercher des sujets similaires à "vba rentrer valeur lorsque transfert fait"