Ajout d'un bouton pour récupérer données d'un fichier externe

Fermé
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020 - 22 avril 2015 à 10:54
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020 - 21 sept. 2016 à 15:03
Bonjour à tous,

Je fais appel à votre amabilité et connaissance éventuelle en VBA pour m'aider à ajouter un bouton à ma macro.

A la base j'ai 3 fichiers :
  • Un premier nommé « cadencier » contenant tous mes articles reconnu par un code IFLS colonne J
  • Une macro « Macro alim cadencier » qui permet de récupérer des fichiers sur mon disque dur et d'alimenter la colonne Ventes du cadencier aves les boutons
  • Le fichier contenant les données qui vont être intégré dans le cadencier grâce à la macro : « fichier_pour_alim_ventes »


Je souhaiterai ajouter un bouton dans ma macro du même type que le deuxième « indiquer le fichier stocks » `qui alimente la colonne Ventes de mon fichier cadencier à partir de Qté Unités colonne L du fichier »SUM( [FLDC-Qté unites] ) »). Cette fois-ci je veux aller chercher un fichier Commandes prendre la colonne U « Arr. Intégrées » du fichier «fichier_alim_CMD »(dossier test macro) et la coller dans le fichier nommé Cadencier à la colonne CMD.

J'ai tout d'abord dans excel recopié la partie pour aller chercher le fichier créer le bouton et je l'ai affecté à une nouvelle macro « Sub CommandButton3_Click() »

Ensuite dans le code j'ai cherché à peu près tout le code ou y avait stock dedans et je l'ai recopié pour « commandes » en changeant le nom de toutes les variables...

PS: quand on appuie sur le bouton mettre a jour le cadencier ça marche ça alimente la colonne ventes. Mais mon bouton CMD ne marche pas... par contre avant d'appuyer sur mettre a jour faut qu'il y ait que la macro d'ouverte sur le pc.

Le dossier ci-joint contient donc : le cadencier, la macro de base, la macro test (contenant le code que j'ai ajouté qui se trouve entre des commentaires `TEST Bouton & `end test bouton pour pouvoir se repérer facilement ; le fichier pour alimenter les stocks avec le 2ème bouton et celui pour alimenter les commandes (nouveau bouton).
... je n'ai fait que reprendre la méthode de création du bouton 2. Je pense avoir fait le plus gros mais n'ayant que des connaissances très basiques de VBA, je suis incapable de rectifier.

Voici tous les fichiers :
https://www.cjoint.com/c/EDwleLoGB1Z
Merci par avance et bonne journée.
A voir également:

305 réponses

f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
22 avril 2015 à 16:32
Bonjour,

modif faites pour bouton CMD: https://www.cjoint.com/c/EDwqUE0iMAf

A+
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 09:11
Bonjour,
Je viens de voir votre réponse. Je vous en remercie beaucoup.
J'ai testé la macro alim cadencier. J'arrive maintenant grâce à votre modif à aller chercher mon fichier CMD mais lorsque je lance la macro pour mettre à jour le cadencier, j'obtiens une Erreur 400. Le fichier cadencier n'est pas mis à jour. Qu'avez-vous modifier ? arrivez-vous à lancer la macro ?
De plus, pour le nouveau bouton je ne vois pas la partie où il faut renseigner le nom de la feuille à utiliser ?
Merci à vous.
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 10:10
Bonjour,

dans le fichier test, sub maj_cadencier

les noms de plage suivant n'existe pas d'ou l'erreur 400
(c'est cette mise a jour de plage que j'ai faite pour le bouton CMD)

'Place les noms des fichiers dans des variables
Nom_Chemin_Cadencier = MFM.Range("CheminCadencier")
Nom_Fichier_Cadencier = MFM.Range("FichierCadencier")
Nom_Feuille_Cadencier = MFM.Range("FeuilleCadencier")
Ligne1Cadencier = MFM.Range("LigneCadencier")


A+
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 10:26
Pourtant la feuille est bien nommée MAJ_Cadencier ?
Lorsque je lance la pas à pas, j'obtiens un message d'erreur => » Erreur de compliation : Référence de variable de contrôle incorrecte dans Next » au niveau de Next LigStock.
Arrivez-vous à lancer la macro ? et alimenter les colonnes voulues ?

Merci à vous
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 10:36
Je viens de placer Next LigStock après Next LigCommande et je ré-obtiens mon erreur 400 au lancement de la macro.
Voici :

https://www.cjoint.com/?3DxkW6zp8Qu

merci
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 11:18
Re,

Pourquoi ce n'est pas le meme fichier que precedement ?????? il n'y a pas le bouton CMD
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
Modifié par Kivanc le 23/04/2015 à 11:21
Il s'agit bien du même fichier. J'ai juste modifié la disposition du bouton (plus logique) juste au dessus de mettre à jour le cadencier..
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 11:42
Re,

Autant pour moi, ai pas ouvert le bon fichier !!!
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 11:48
Re,

Ces noms de cellule n'existent pas dans le fichier que vous avez mis a dispo ??????????????????????????????????????????????

'TEST BOUTON
Nom_Chemin_Commande = MFM.Range("CheminCommande")
Nom_Fichier_Commande = MFM.Range("Fichier_Commande")
Nom_Feuille_Commande = MFM.Range("FeuilleCommande")
Ligne1Commande = MFM.Range("LigneCommande")
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 11:57
Je ne suis pas la personne qui a développé cette macro et je débute en VBA. J'ai donc repris excatement la même méthode que pour le bouton 2... en changeant stocks par commandes ..
Car les noms de cellules chemin-stocks... n'existent pas aussi ... et pourtant la macro fonctionne !je pensais qu'il y avait une correspondance dans le code ?
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 13:25


Voici l'erreur que j'obtiens là.
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 14:50
Re,

Car les noms de cellules chemin-stocks... n'existent pas aussi ... et pourtant Regardez plus attentivement et vous verrez que ces noms de cellule existent

Pour l'erreur, je regarde
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 14:55
Merci infiniment pour votre aide
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 15:02
Re,

Sur le dernier fichier macro_alim..... j'ai seulement mis a jour les noms de cellule. Y a pas l'erreur que vous avez, mais ca ne s'arrete pas; oblige de tuer excel !!!!!!
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 15:22
c'est à dire ça ne s'arrête pas ? la macro ne veut pas se lancer ?
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 15:37
Re,

la macro ne veut pas se lancer ? J'aurai ecrit la macro ne se lance pas !!!!!!

Y a quand meme plus de 300000 tours de programme pour la mise a jour Cadencier et les on error resume next n'arrangent pas la chose !!!
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 15:43
Oooh je vois... Je ne pensais pas que ce serait si compliqué... Le bouton fonctionnait très bien avec le même code
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660 > Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 15:48
Re,
Le bouton fonctionnait très bien avec le même code Peut-etre
remettez le fichier a dispo svp
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 16:04
Je parlais du bouton 2 ... et de la macro de base. Pour ma part j'ai également changé les noms et mon boutton CMD me sort une erreur 400!!!! je suis désespérée..
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660 > Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 16:27
Re,
Je parlais du bouton 2 ... pour moi c'est:
Changer de fichier STOCKS et SORTIES et vous ???

J'ai repris le premier fichier macro .... test et apres mise a jour des noms de cellule, lancement mise a jour Cadencier, pas d'erreur mais pas d'arret du programme non plus, tourne en rond. Je vais essayer de trouver le pourquoi.
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 16:44
Oui c'est bien ce bouton là.
J'ai du nouveau. J'ai modifié quelques petits paramètres de nom (pas grand-chose). Ma macro se lance maintenant !! Elle est très longue il faut être patient c'est assez bizarre mais à la fin le cadencier se met à jour mais pas la colonne CMD !!! Alors que quand elle a fini de tourner elle m'ouvre bien le fichier alim_CMD... Qu'avez-vous de votre côté
Voici ma macro test
https://www.cjoint.com/c/EDxq3WGnMQi
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 17:37
Re,

Pour l'instant, je teste la mise a jour du cadencier. Ca tourne, mais une demi-heure pour une centaine de code IFLS avec pas beaucoup de trouves ce qui n'est pas terrible, donc environ 2 heures pour cette mise a jour (avec un PC un peu costaud)

Ma macro se lance maintenant !! La meme que moi ou ...??
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 18:25
Je ne sais pas là je suis arrivée à une version qui marche ! effectivement j'ai beaucoup d'articles et de fichiers avec des produits différents donc pour ce cadencier là il n'en trouve pas beaucoup! ce qui est gênant c'est le temps que ça met.. ça ne va pas du tout être gérable. Et ça ne me semble pas logique car au départ pour alimenter ventes il fallait 5 secondes et là juste pour une colonne en plus ça me prend 9-10 minutes. Y'a t'il une erreur ? le code ne doit pas être optimal ?
Au début lorsque je ne faisais que reprendre le code présent pour le bouton des ventes j'ai vu une déclaration de plusieurs colonnes. A vrai dire je ne savais que mettre ni à quoi servait toutes ces déclarations donc mon code est :
 Dim Col_IFLS_Cad As Integer
Dim Col_IFLS_Stk As Integer
Dim Col_DEPOT_Cad As Integer
Dim Col_Analyse_Cad As Integer
Dim Col_DEPOT_Stk As Integer
Dim Col_CommentR_Stk As Integer
Dim Col_Stocks As Integer
Dim Col_Sorties As Integer
Dim Col_Sensibilite As Integer

'TEST BOUTON
Dim Col_IFLS_Cmd As Integer
Dim Col_Secteur_Cmd As Integer
Dim Col_Commande As Integer
Dim Col_Acheteur_Cmd As Integer
Dim Col_Comments As Integer

'end TEST BOUTON

Qu'en pensez vous ?
voici mes derniers fichiers :https://www.cjoint.com/c/EDxsNA56Dm6

Infiniment merci pour votre aide précieuse
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
23 avril 2015 à 18:19
Re,

Apres quelques modif de noms de cellule (encore...), lance mise a jour cadencier-------> ben au moins 40 mn, tous les fichiers sont mis a jours

(Quand j'ai ecrit 2 heures pour mise a jour cadencier, j'avais remis calcul auto, ecran non fige et active les evenement excel pour pouvoir suivre le code)
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 18:35
Avez vous vu ma réponse au dessus ? Oui comment se fait il que ce soit si long ?
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
23 avril 2015 à 18:48
En fait la question que je me pose est : comment ma macro va récupérer la colonne "Arr. Intégrées" du alim_cmd ? Seulement par rapport à l'IFLS ? ou les colonnes que j'ai déclaré au hasard ?? car le fichier alim contient vraiment l'ensemble des articles... ce n'est pas normal qu'il ne retrouve pas les articles !
0
f894009 Messages postés 16754 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 5 décembre 2022 1 660
24 avril 2015 à 09:27
Bonjour,
ce n'est pas normal qu'il ne retrouve pas les articles !
Je vais "decortiquer" votre code car en effet: trop long a s'executer et probleme d'articles existant non trouves

A+
0