prendre des cellules en fonction du n° client

mgrizzly

XLDnaute Junior
--------------------------------------------------------------------------------

Bonjour à tous,
J'aurai besoin d'aide pour un programme en VBA.

Voici ce que je dois réaliser:

J'ai deux fichiers, un fichier A et un fichier B.
Dans le fichier A, sur la deuxième feuille, j'ai un tableau contenant des n° de clients dans la colonne C et des dates qui se suivent dans la ligne 7.
Dans le fichier B, j'ai un tableau contenant des n° des clients dans la colonne Q et des chiffres dans la colonne L.

J'aimerai un code VBA qui permette en cliquant sur un bouton, de prendre les n° des clients du fichier A, les retrouver dans le fichier B (dans la colonne Q) et mette les chiffres de la colonne L du fichier B (auxquels se rapporte les n° de clients identiques) dans la colonne du fichier A à la date du jour.

exemple:
aujourd'hui on est le 2 mai, dans la colonne du fichier A contenant le 02/05/2010 à la ligne 7, cette colonne se remplie avec uniquement les chiffres du fichier B qui ont le même n° client que ceux de la colonne C du fichier A, sous la ligne 7.
Demain, le 3 mai, ce sera la colonne contenant le 03/05/2010 qui se remplira...

Si plusieurs numéros de clients sont identiques dans la colonne Q du fichier B alors additionner les chiffres de la colonne L de ceux-ci et les mettre pareillement dans la feuil2 du fichier A.

Merci de votre aide.
 

Paritec

XLDnaute Barbatruc
Re : prendre des cellules en fonction du n° client

Bonjour mgrizzly, le forum,
Oui alors tes explications sont ce quelles sont, très bonnes sans doute, mais mais mais, si tu faisais un petit fichier exemple avec dedans les explications de ce que tu veux, et ou tu le veux, ce serait mieux, pour ne pas dire indispensable.
si tu as deux fichiers, tu fais l'exemple avec les deux fichiers et tu vas avoir des réponses
a+
papou :)
 
Dernière édition:

mgrizzly

XLDnaute Junior
Re : prendre des cellules en fonction du n° client

Voila mes 2 fichiers exemple Paritec.:)
Les colonnes dont il faut s'occuper sont en jaune.
N'hésite pas à demander plus d'explications si ce n'est pas encore assez clair.
 

Pièces jointes

  • fichier A.xls
    36 KB · Affichages: 79
  • fichier B.xls
    46 KB · Affichages: 79
  • fichier A.xls
    36 KB · Affichages: 85
  • fichier B.xls
    46 KB · Affichages: 86
  • fichier A.xls
    36 KB · Affichages: 80
  • fichier B.xls
    46 KB · Affichages: 86

néné06

XLDnaute Accro
Re : prendre des cellules en fonction du n° client

Bonjour mgrizzly

Je ne comprends pas trop ta demande.
J'ai modifié les feuilles en une.
Si tu pouvais me montrer un exemple sur cette nouvelle feuille, je pense pouvoir apporter ma petite contribution à ce probléme.
Tu désigne comme date le 2 mai ,mais elle n'appartient pas à ton fichier?

Cordialement
Néné06
 

mgrizzly

XLDnaute Junior
Re : prendre des cellules en fonction du n° client

Non, ce n'est pas ça.
J'ai 2 fichiers. Le fichier B est un fichier qui ce modifie chaque jour. J'aimerai, un code qui en appuyant sur un bouton mette dans le fichier A, feuil2, la colonne surface du fichier B au jour le jour. Une fois par jour, on ouvre le fichier A et B, on clique sur le bouton et la colonne du jour du fichier A se remplie.
Pour le remplissage, il y a deux conditions:

- le remplissage doit uniquement se faire avec les n°produit. Les produits ne changent pas dans le fichier A, mais changent dans le fichier B, c'est pour cela que le programme doit rechercher les n° du fichier A, les retrouver dans le fichier B et marquer les surfaces correspondantes dans les colonnes du fichier A.

- dans le fichier B, les n° peuvent être en double ou triple, il faudrait donc additionner les surfaces de ces n°de produit avant de les inscrire dans le fichier A car le fichier A ne possède qu'un exemplaire de ce n°.

j'ai oublié d'incrire les dates précédant le 10 mai, mais les dates commencent ben le 2 mai, dsl.

En espérant être plus explicite...
 
Dernière édition:

néné06

XLDnaute Accro
Re : prendre des cellules en fonction du n° client

Bonjour
J’ai élabore une petite routine qui tourne chez moi
il faudra bien spécifier le chemin d’accès complet dans le module VBA
Cette routine recopie le fichier B en feuil2, execute un tri exécute le travail en Feuil1 et efface cette feuil2.
Il doit y avoir la date sous forme «17/04/2010 » en fichier a la cellule (« I2. »)

Si cela peut te rendre service.

Salutations
A+
 

mgrizzly

XLDnaute Junior
Re : prendre des cellules en fonction du n° client

Néné06, j'ai essayé ton programme mais ce n'est pas vraiment ce que je veux.

Ton programme prend le fichier B et le met dans la feuille 2 du fichier A.

Moi, je veux prendre la colonneC de la feuille "stock" du fichier A, je garde les n°d'articles qui s'y trouvent. Je regarde dans le fichier B colonne L les n° d'articles qui sont les mêmes que ceux de la colonne C du fichier A.
Je prends dans la colonne Q les chiffres qui correspondent aux n° d'articles identiques du fichier A et B et je les mets dans la feuille "stock" du fichier A, en face du n° d'articles leur correspondant, sous la date du jour (on est le 10 mai, la colonne 10/05/2010 se remplie après avoir cliqué sur le bouton. Demain se sera le 11/05/2010 qui se remplira...)

Et dans le fichier B, il peut y avoir plusieurs n° d'articles identiques. Alors additionner les chiffres de la colonne Q leur correspondant avant de les mettre dans le fichier A.

Merci de m'aider à finaliser ce programme.:)
 

néné06

XLDnaute Accro
Re : prendre des cellules en fonction du n° client

bonsoir Mgrizzly

ce prog était incomplet.
je te fais parvenir un autre.

dans le fichier B , tu dois impérativement mentionner la date du jour sous forme"17/05/2010" dans la cellule "D2"
Renommer la "feuil2" du fichier A en "Result" car tu avais renommé la "Feuil1" en "Feuil2" et cela plante le programme dans les instructions " Cells(Feuil2,X).
Si tu appuis plusieurs fois sur le bouton ,les calculs s'ajouteront donc ils seront faux.
Ce prog copie la fichier B en Fichier A puis après le travail il supprime la feuille crée en fichier A

J'ai fais un autre pro sans copie mais il prend un temps monstre pour le calcul car il doit activer les fichiers et les désactiver constamment .

Je te fais parvenir les deux prog .
 

mgrizzly

XLDnaute Junior
Re : prendre des cellules en fonction du n° client

Salut Néné06, merci pour tes solutions.
Quand je lance le programme A, une erreur ce met à cette ligne
Code:
sheets("Result").Cells(i,num_date)=sheets("results).Cells(i,num_date)+sheets("bis").Cells(j,12)
et je ne comprend pas pourquoi.
voilà ce qui s'inscrit: erreur d'exécution '1004'. Erreur définie par l'application ou par l'objet.
Sinon où doit on mettre l'origine du fichier B (où on doit le trouver)dans le programme?
Et sinon si j'ai bien compris, on inscrit la date du jour dans la cellule D2 du fichier B et les surfaces s'inscrive bien dans la colonne correspondante à cette date dans le fichier A à côté du numéro d'article correspondant?
Merci
 
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : prendre des cellules en fonction du n° client

Bonjour Néné06 Grizzly, le forum
bon moi j'ai fait cela comme tu as demandé
si la date du jour et présente dans le fichier B et que le numéro client , ainsi que le numéro produit et identique au Fichier A la colonne avec la date du jour sera remplie avec les valeurs correspondantes
regardes testes et tu me diras
a+
papou :)

PS: il faut que le fichier A et Fichier B soit au même endroit ou dans le même dossier
 

Pièces jointes

  • fichier A V1.zip
    24.4 KB · Affichages: 41

néné06

XLDnaute Accro
Re : prendre des cellules en fonction du n° client

Bonsoir Mgrizzly Paritec

Voici mon prog avec beaucoup de remarques dans le module 1 et le rajout de gestion d'erreurs
Apres avoir décompressé le fichier A, l'ouvrir et l'enregistrer sur le bureau à cote du fichier B avant de lancer la macro

Regardes et dis moi

pour Paritec je vais regarder ton programme voir un peu ton algorithme .

A+
 

Discussions similaires

  • Résolu(e)
Microsoft 365 Tri et Import
Réponses
4
Affichages
179

Membres actuellement en ligne

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote