XL 2016 VBA - Mise à jour d'un classeur à partir d'un autre classeur

Heodrene

XLDnaute Occasionnel
Supporter XLD
Bonjour à tous,

Depuis peu, je me suis mis à VBA et franchement… J'ai découvert quelque chose de puissant !
J'ai pu écrire quelques macros pour me faciliter la vie au quotidien et automatiser des tâches récurrentes, autant là je cale sur un problème.

J'ai deux classeurs :
- Source.xlsx (appelé SRC ci-après) : qui contient des données sources
- Destination.xlsx (appelé DST ci-après) : qui contient des données devant être mise à jour ou compléter par Source.

Chaque ligne possède différents champs.
Le champ "Code Site" est un code unique et permet de retrouver la ligne qui m'intéresse.

Ce que j'aimerais :
1) Mise à jour Date de MeS :
  • De SRC filtrer le champ "Semaine RDV service" avec le numéro de la semaine courante ;
  • Du résultat affiché parcourir le tableau et rechercher dans DST le Code Site correspondant ;
  • Si le champ DST>Date MeS 1 est remplie avec une date inférieur ou est vide à celle de SRC, passer au champ Date MeS 2
    • Si le champ Date MeS 2 est remplie avec une date inférieure à celle de SRC, passer au champ Date MeS 3 ;
    • Ainsi de suite jusqu'à Date de MeS 6
  • Si le champ DST>Date MeS 1 est supérieure à celle de SRC, ne rien changer
2) Mise à jour des autres champs (Depuis SRC vers DST) :
  • Si GAUCHE("Ref technique (Service usine) - Etat";10) <> "Référence usine" => Remplir
  • Si STXT("Ref technique (Service usine) - Etat";14;NBCAR("Ref technique (Service usine)) <> "Etat SI" => Remplir
  • GAUCHE("Ref Service Commerciale";10)
    • "Numéro de service 1" est vide => Remplir
    • "Numéro de service 1" est différent => Remplir "Numéro de service 2"
  • Si "Routeur pour CR" <> "Feuillet routeur" => Remplir
Je pense qu'une boucle est la solution.
Seulement voilà, facile à dire…

Merci de votre aide,

Heodrene
 

Pièces jointes

  • Source.xlsx
    89.7 KB · Affichages: 25
  • Destination.xlsx
    91.2 KB · Affichages: 23

bbb38

XLDnaute Accro
Bonjour Heodrene, le forum,
Personnellement, je n’ai pas compris, pourquoi tu souhaites effectuer un filtre sur le champ "Semaine RDV service" avec le numéro de la semaine courante, pour le fichier SRC (mes neurones n’ont plus vingt ans).
Je pense, mais peut-être à tort, qu’un tri sur le « Code Site » et le « Lot » pour les 2 fichiers, permettrait la mise à jour des données.
Cordialement,
Bernard
 

Heodrene

XLDnaute Occasionnel
Supporter XLD
Bonjour Bernard,

C'est une erreur, je corrige.
Il s'agit de S+1 : je reçois SRC le vendredi et les dates de planifications à S+1 sont figées.
Renseigner les dates des semaines suivantes ne m'intéressent pas car assujetties à des replanifications.

Les fichiers sont fournis ici volontairement sans macro : le code sur lequel j'ai commencé à travailler est en plein tâtonnement et risquerait de polluer les bonnes âmes qui pourraient m'aider ;)

Bien cordialement,

Heodrene
 

Discussions similaires

Réponses
21
Affichages
893