Décalages de livraisons

Shaak33

XLDnaute Nouveau
Bonjour le forum !

Je me permet de vous solliciter pour un petit problème que je rencontre sur ma macro, j'y suis preeeeesque (et j'en suis déjà super fier :p)
Voilà j'essaye de mettre en relief les décalages de livraisons que je peux avoir d'une semaine sur l'autre en fonction de la base de données de la semaine en cours (onglet "S") par rapport à la base de la semaine précédente (onglet "S-1") et tout ça vient se compiler dans le dernier onglet "Suivi livraisons".
Seulement voilà si les mouvements d'une semaine sur l'autre apparaissent bien, ma macro ne prend pas en compte lorsqu'une nouvelle commande a été créée entre les deux semaines (dernière ligne de l'onglet "S" dans mon exemple, en rouge). Or j'aimerais que les quantités de la nouvelle commande s'ajoute à la semaine concernée (voir le dernier onglet)

Voici ma question: Comment modifier ma macro pour y arriver ?

Je joins mon fichier d'exemple (il y a beaucoup plus de lignes en réalité, j'ai voulu simplifier).
Il y a beaucoup de commentaires verts (ce sont toutes mes tentatives).

Merci d'avance à tous ceux qui se pencheront sur mon problème ou qui me donneront des pistes :)
Excellente fin de soirée

Shaak
 

Pièces jointes

  • Exemple.xlsm
    47.7 KB · Affichages: 41
  • Exemple.xlsm
    47.7 KB · Affichages: 53
  • Exemple.xlsm
    47.7 KB · Affichages: 47

pierrejean

XLDnaute Barbatruc
Re : Décalages de livraisons

Bonjour Shaak

Vois si cela te convient (Feuil1)
Je suppose avoir compris bien que je ne retrouve pas le résultat souhaité
 

Pièces jointes

  • Exemple.xlsm
    56.6 KB · Affichages: 40
  • Exemple.xlsm
    56.6 KB · Affichages: 45
  • Exemple.xlsm
    56.6 KB · Affichages: 41

Shaak33

XLDnaute Nouveau
Re : Décalages de livraisons

Bonjour pierrejean,

Merci beaucoup pour ton aide, en effet on ne retombe pas sur le résultat escompté d'après ce que j'ai compris de ta macro (d'un niveau bien supérieur au mien :confused: ), cela n'affiche QUE les nouvelles commandes ou les décalages de livraisons ?

Or mon tableau est censé représenter un état des livraisons: en colonne la semaine prévu S-1 et en ligne la semaine prévue S.
Donc dans les cases blanches (S=S-1) sont censées s'afficher les quantités qui n'ont pas changées de semaine, dans la zone rouge les quantités qui ont été décalés et dans la zone verte celles qui ont été avancée. Cela ça marche avec ma macro.

Mon problème est plus simple je pense, il faudrait juste qu'en plus, si une commande est ajouté dans la base de donnée S (une nouvelle ligne non présente dans l'onglet S-1 donc), les quantités correspondantes s'ajoutent à la semaine concerné (ex: dans l'onglet S, nouvelle commande pour la semaine 14, les quantités doivent s'ajouter dans la case blanche aux coordonnées (14,14) cf "Résultat souhaité")

Je ne sais pas si je suis très clair... mais j'essaye :)
Si vous avez besoin de plus de détails n'hésitez pas.
Je continue de chercher une solution de mon côté, encore merci d'avance pour votre aide !

Bonne journée,
Shaak

P.S: J'ai remis le fichier avec plus de commentaires
 

Pièces jointes

  • Exemple (1).xlsm
    58.9 KB · Affichages: 34
  • Exemple (1).xlsm
    58.9 KB · Affichages: 32
  • Exemple (1).xlsm
    58.9 KB · Affichages: 30

Shaak33

XLDnaute Nouveau
Re : Décalages de livraisons

Bonjour Pierrejean, bonjour le forum,

Je me permets de relancer ce sujet car il y a du changement.
La formule de Pierrejean fonctionne très bien dans le cas où les semaines analysées commencent à la semaine 1.
Mais comment faire si comme dans l'exemple ci joint, le tableau commence par la semaine disons 47 ?
Vous me direz, la formule fonctionne et les quantités apparaissent en Range("AV48") seulement en terme de lecture ce n'est pas terrible et en terme de business il faudrait que la période commence a la semaine 47.

En gros je pense qu'il faudrait que la macro se réfère à la valeur de la cellule et non a ses coordonnées.
Mes tentatives ne donnent rien...

Si jamais l'un de vous a une brillante idée :)

Très bonne fin de journée,
Shaak
 

Pièces jointes

  • Exemple update.xlsm
    59.1 KB · Affichages: 25
  • Exemple update.xlsm
    59.1 KB · Affichages: 30
  • Exemple update.xlsm
    59.1 KB · Affichages: 27

Shaak33

XLDnaute Nouveau
Re : Décalages de livraisons

Re pierrejean,

Oui c'est exactement ça ! (j'ai simplement enlever les "+1").
Le problème est que lorsque je tente le code avec toute ma base de données et non plus les quelques lignes de l'exemple, j'ai une erreur d’exécution 13 incompatibilité de type sur la ligne suivante:

Sheets("Feuil1").Cells(ligne(semS + 1), colonne(semS + 1)) = Sheets("Feuil1").Cells(ligne(semS + 1), colonne(semS + 1)) + QS

Je ne sais pas vraiment à quoi correspond cette erreur, est-ce parce qu'il y a plusieurs lignes avec le même numéro de semaine ?
 

pierrejean

XLDnaute Barbatruc
Re : Décalages de livraisons

Re

Il faut vérifier que QS est bien numérique
Dans le genre:

Code:
.....
sem_moins = Sheets("S-1").Range("FL" & c.Row)
    QS = Sheets("S").Range("AS" & n)
    If Not IsNumeric(QS) Then MsgBox ("Verifier Feuille S AS" & n)
    Q_moins = Sheets("S-1").Range("AS" & c.Row)
    'Sheets("Feuil1").Cells(sem_moins + 1, semS + 1) = Sheets("Feuil1").Cells(sem_moins + 1, semS + 1) + QS
    Sheets("Feuil1").Cells(ligne(sem_moins + 1), colonne(semS + 1)) = Sheets("Feuil1").Cells(ligne(sem_moins + 1), colonne(semS + 1)) + QS
  Else
    semS = Sheets("S").Range("FL" & n)
    QS = Sheets("S").Range("AS" & n)
    If Not IsNumeric(QS) Then MsgBox ("Verifier Feuille S AS" & n)
    'Sheets("Feuil1").Cells(semS + 1, semS + 1) = Sheets("Feuil1").Cells(semS + 1, semS + 1) + QS
    Sheets("Feuil1").Cells(ligne(semS + 1), colonne(semS + 1)) = Sheets("Feuil1").Cells(ligne(semS + 1), colonne(semS + 1)) + QS
.......
 

Discussions similaires

Réponses
24
Affichages
497

Statistiques des forums

Discussions
312 412
Messages
2 088 196
Membres
103 763
dernier inscrit
p.michaux