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 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 29/04/2015 à 18:58
Re,
If (I_Prev = 2 Or I_Prev = 3) Then 'Alerte pour le stock J+2, J+3

ElseIf (I_Prev = 1 Or I_Prev = 2) Then 'Alerte Tendance pour les prév J+1, J+2
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
29 avril 2015 à 19:20
Donc si je comprends bien il n'y a pas d'alerte tendance à J+2 mais seulement à J+1 ??

Et pour étendre l'alerte stock faut il ajouter des I_Prev = 4,5,6 ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 avril 2015 à 08:51
Bonjour,

Oui, dans le contexte actuel. Vous dites si faut ou pas a:
J+2 alerte tendance et J+3 a J+6 alerte stock
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 08:56
Bonjour. Gros problème !! Un utilisateur a mis a jour ce matin les stocks et se rend compte que le calcul de la prévision ne se fait plus !!! Je n'avais pas fait attention ... L'ancien bouton de maj alimentait la colonne vente mais aussi PREV du jour plus les 13 jours suivants. Calculé par rapport aux 6 jours précédents du jour d'alimentation. Pouvez vous voir svp c'est très important ! Merci
0

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

Posez votre question
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 avril 2015 à 09:25
Bonjour,

Je viens de regarder le fichier d'origine marco....Test que vous avez mis a dispo et y a kake chose pour cette colonne en commentaire !!!!!!
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 09:48
C'est à dire ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 09:53
Re,

C'est à dire ? en commentaire: avec un ' devant et ecrit en vert

Y a priori un calcul Alerte Stock pour cette colonne, j'ai repris ce code dans la macro de prevision et y a erreur incompatibilite de type. Je cherche
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 10:21
Avez-vous bien cette macro de base : https://www.cjoint.com/c/EDEkISuQUYD

voyez-vous le calcul de la prev sur 14 jours ? voici la formule : Calcul_Prevision = (Somme_Ref / Nombre_Jours_Glissants) * Poids
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 10:23
Utilisez ce cadencier il est plus à jour : https://www.cjoint.com/c/EDEkL6ISyan
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 10:35
En fait ça incrémente bien pour 14j la PREv mais tout est à 0 !
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 avril 2015 à 10:42
Re,

Avez-vous bien cette macro de base Non, c'est:

Macro alim cadencier TEST.xlsm du 22/04/2015

Mais dans le dernier fichier .... lens 16 mars, le code est aussi en commentaire. Par contre, a force de rererelire le code, j'ai trouve pour alerte tendance J+2, c'est moi qui ait fait l'erreur de mettre un ElseIf, je vais corriger

Je vais tester avec le fichier .... lens 16 mars et je vous dirai de quoi il en retourne ....
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 10:45
Oui mais je pense que c'est la même macro... juste nom différent peut être...
ok merci
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
Modifié par f894009 le 30/04/2015 à 11:06
Re,

En prenant le fichier macro_cadencier_ab_lens_16_mars_.xlsm, y a pas de mise a jour des colonnes PREV du cadencier, code en commentaire. Si j'active le code, erreur nombre de parametre (ce que j'ai eu sur "mon" fichier) et j'ai les memes erreur incompatibilite de type.

Par contre pas de probleme de temps d'execution !!!!!!

Z'etes sure que ca a deja marche votre affaire ??????
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 11:08
CERTAINE !
Ouvrez le cadencier que je viens de vous envoyer. Dernière mise a jour des ventes aujou'dhui donc ls prev sont jusque le 14 mai (vérifiez colonne PREV).
Maintenant mettez à jour le 02/05 avec la macro de ce matin et vous verrez que nous avons la PREV jusqu'au 16 mai maintenant !
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 30/04/2015 à 11:41
Je compare les 2 codes en rapport avec la prévision pas à pas ; ça peut vous aider à voir l'erreur... moi je n'y ai pas compris grand-chose. Je vois que vous avez ajouter des dim x et un IPNC ?:

Voilà ce que j'ai en plus dans votre code :

Dim x, xx, xxx
Puis
MFMP.Activate
'On récupère la jour de la date

x = MFC.Cells(Ligne_Date, Colonne_Ref).Valuepuis
Debug.Print x, Jour

Ici c'est différent :

x = Application.WorksheetFunction.Match(Jour, MFMP.Range("Jours"), 0)
xx = Application.WorksheetFunction.Match("Poids", MFMP.Range("Poids"), 0)
xxx = Application.WorksheetFunction.Index(MFMP.Range("Poids_jours"), x, xx)

puis

Dim LigTabl As Long, MonTableau()
Ici c'est different
If MFM.CheckBoxes("Check_Box_Date_du_Jour").Value = xlOn Then
MaDate = MFM.Range("Date_du_jour")
Else
MaDate = MFM.Range("MaDate")
End If

Il manqué : 'Mise à jour des prévision
Ligne_Ref = Ligne

Ce calcul :

Prevision = Calcul_Prevision(MFMP, MFC, Ligne_Ref, Col_Prev + (I_Prev * Nombre_Colonne_Jour), Jour_Ferie, Nombre_Colonne_Jour, Somme_Ref) '[V6]
Prevision = Round(Prevision, 0) 'Arrondi de la prévision à un entier
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 11:52
alors déjà je pense avoir trouvé une petite erreur mais ça ne résoud rien :
il ya une lettre en plus ici :

Prevision = Round(Calcul_Prevision(MFMP, MFC, Ligne_Ref, Col_Prev + (IPNCJr)

le r est en trop ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 avril 2015 à 12:24
Re,

En effet le r et en trop. J'ai fait du menage dans les codes, car pour trouve comment votre tracassin fonctionne, j'ai mis du code en plus mais qui ne derange pas les calculs (sauf le r). A certain endroit j'ai compresse les lignes d'instruction pour optimiser la vitesse d'execution vu le nombre de tours de calcul.

"mon" fichier: https://www.cjoint.com/c/EDEmKxuyHxl qui me sort des erreur de type

Votre fichier de base (macro_cadencier_ab_lens_16_mars_) lui me sort des erreurs 400 avec ce que j'ai en fichiers annexes

Donc avec quoi avez vous fait cette "magnifique" mise a jour top du top ??
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 12:30
https://www.cjoint.com/c/EDEmSLceNgy

tous mes fichiers sont là. faites la maj pour le 2 mai vous verrez les prev jusqu'au 16. actuellement elles sont jusqu'au 14
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 12:34
Utilisez aussi mes même fichiers pour les ventes et stocks... (regarder le chemin) on ne sait jamais!
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 12:54
Re,
(regarder le chemin) on ne sait jamais! Suis de toutes facon obliger puisque que ce n'est pas le meme que vous (z'avez pas remarque ???)

A+
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 13:34
Je sais bien... mais je voulais dire prenez exactement les mêmes ^^ alors ça vous a mis a jour comme moi ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701 > Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 13:45
Re,

Je prends les memes fichiers qui n'ont pas le meme chemin
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 13:56
Je viens de reprendre la macro du 16 mars ajouter un peu de votre nouveau code...
voici le fichier : https://www.cjoint.com/c/EDEojBdAc1o

mes prev sont calculés mais j'ai maintenant un pb avec le bouton entrées. il ne reconnait pas "MCommande.MaJ_Cadencier_Commande(MFM)"
ou l'avait vous déclarer ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 avril 2015 à 14:29
Re,

fichier de base Macro cadencier AB LENS 16 mars erreur 400 mais bon ne servira plus

fichier MACRO_AB_LENS_2904:
ceci doit aller, j'ai fait un peu de menage (sauf declarations variables) a priori pas la cause du probleme. Par contre, ce qui est plutot embetant ce sont ces erreurs de type car sur "mon" fichiers et les fichiers precedents c'etait la zone.

a vous de tester : https://www.cjoint.com/c/EDEoFSqSn7q
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 14:41
eh bien ça fonctionne ? pas pour vous ?
par contre je vois que dans le fichier Entrees2804 que je vous ai envoyé et que vous avez utlisé il y'a la ligne rapport a la fin...c'est peut être a cause de ça votre erreur ??
Utilisez 1150429 pour les entrées
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 avril 2015 à 14:48
Re,

Si je vous demande de retester car j'ai quand meme modifie le code. Pour moi c'est bon, mais c'est vous qui etes juge

Pour "mon" fichier, aucune importance, nous repartons avec le dernier que j'ai mis a jour (MACRO_AB_LENS_2904) si vraiment ok, avant de faire les autres modif parametres par Num d'entrepot
0
Kivanc Messages postés 390 Date d'inscription jeudi 11 septembre 2014 Statut Membre Dernière intervention 13 août 2020
30 avril 2015 à 14:52
Danc la dernière version que je viens de tester ? la gestion multi-entrepot n'est pas prise en compte ?
0
f894009 Messages postés 17185 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 15 avril 2024 1 701
30 avril 2015 à 15:05
Re,

Mais si, par contre avec dans mise a jour commande:
Secteur = MFMD.Cells(LigCommande, Col_DEPOT_Cmd)

je peux changer par DEPOT comme dans mise a jour prevision
0