Microsoft 365 Modif macro date

Moreno076

XLDnaute Impliqué
Bonsoir,

J'aurais besoin d'aide pour un changement de formule.

AVANT :

Sub reception()
Dim C As Range, Derlg As Long, Plage1 As Range
If Weekday(Date, 2) > 5 Then Exit Sub
Application.ScreenUpdating = False
With Feuil1
Derlg = .Cells.Find("*", , , , xlByRows, xlPrevious).Row
Set Plage1 = .Range("a2:a" & Derlg) ': Set Plage2 = .Range("d2:d" & Derlg)
For Each C In Plage1
Select Case C.Value
Case "Expédiée"
C.Offset(, 12).Value = Date
C.Offset(, 13).Value = Date + 1
Case "Préparée Totalement" 'J+1
C.Offset(, 12).Value = Date + 1 + Abs(Weekday(Date, 2) = 5) * 2
C.Offset(, 13).Value = C.Offset(, 12).Value + 1

Case "En traitement RFX" 'J+2
C.Offset(, 12).Value = Date + 2 + (Abs(Weekday(Date, 2) = 5) * 2) + (Abs(Weekday(Date, 2) = 4) * 2)
C.Offset(, 13).Value = C.Offset(, 12).Value + 1
Case "TRAITEE J+3"
C.Offset(, 12).Value = Date + 3 + (Abs(Weekday(Date, 2) = 5) * 2) + (Abs(Weekday(Date, 2) = 4) * 2) + (Abs(Weekday(Date, 2) = 3) * 2)
C.Offset(, 13).Value = C.Offset(, 12).Value + 1
End Select
Next
End With
Application.ScreenUpdating = True
End Sub

Je voudrais dans la feuille synthèse que pour

Case "Préparée Totalement" 'J+1
C.Offset(, 12).Value = Date + 1 + Abs(Weekday(Date, 2) = 5) * 2
C.Offset(, 13).Value = C.Offset(, 12).Value + 1

ca mette dans la colonne 12 directement la date indiquée dans l'onglet X3 colonne D. Le point commun entre la feuille synthese et X3 est le code. Colonne B pour synthese et colonne G pour X3.

et qu'ensuite ca mette le jour suivant sauf dimanche dans la colonne 13.

Merci de votre aide et de votre explication.
 

Pièces jointes

  • V22.xlsm
    373.5 KB · Affichages: 4

laurent3372

XLDnaute Impliqué
Supporter XLD
Finalement, j'ai pris la date en colonne F (date recept. prévue)
VB:
        Case "Préparée Totalement" 'J+1
            With Feuil4
                Set rngDate = Range(.[F7], .[F7].End(xlDown))
                Set rngCode = Range(.[g7], .[g7].End(xlDown))
            End With
            dteDate = Application.Index(rngDate, Application.Match(C.Offset(, 1), rngCode))
            C.Offset(, 12).Value = dteDate
            C.Offset(, 13).Value = dteDate + 1 + Abs(Weekday(Date, 2) = 5) * 2
Cordialement,
--
LR
 

Pièces jointes

  • V22 (1).xlsm
    387 KB · Affichages: 6

Moreno076

XLDnaute Impliqué
Bonsoir LG. Lorsque je lance la macro entière ca me met
1582234873586.png

Pourtant la feuille est la
 

Moreno076

XLDnaute Impliqué
Bonjour Laurent. Oui ca me le fait toujours pour with4 mais seulement lorsque je lance la macro entière du fichier (bouton gestion terminée). Par contre lorsque je lance seul la macro réception ca fonctionne bien pour la colonne M. J'a fait quelques test avec des dates. Par contre dans la colonne N ca suit pas toujours. Par exemple si la date M est 27/02 ca devrait etre 28 dans N et non 01/03.

Pour "expédiée" et "préparée totalement" la date à afficher dans la colonne M de l onglet synthèse est celle de la colonne F dans l'onglet .
Pour une réception prévue du lundi au vendredi la colonne N doit être à J+1

Merci beaucoup Laurent. Bonne journée.
 

Moreno076

XLDnaute Impliqué
J'ai eu le temps de regarder ce midi ca à l'air de fonctionner cette fois-ci super merci beaucoup. J'ai remis à jour mon fichier avec le module reception.
Il arrive parfois que des produits soient commandés plusieurs jours de suite du coup ca fait des doublons. Penses tu que c'est possible que lors du tri avec les boutons à droite ces lignes en doubles peuvent rester grouper comme ça?
1582287154005.png

J'abuse de ton professionnalisme ;-). J ai masqué dans l'onglet X3 les colonnes qui ne servent pas.

Je retourne bosser.

Merci encore
 

Pièces jointes

  • V23.xlsm
    425.6 KB · Affichages: 4
Dernière édition:

Statistiques des forums

Discussions
312 104
Messages
2 085 326
Membres
102 862
dernier inscrit
Emma35400