Re : Problème de rédaction de macro
Bonjour,
Je t'écris depuis pleumeur bodoux , où seuls les corbeaux arrivent à ravitailler .
Donc excuses de la mise en forme et de ne pas joindre le fichier, le vieux coucou que j'utilise n'est pas du tout à jour et ne permet pas de faire ce que je souhaiterais , néanmoins voici une proposition de code que tu pourras ensuite replacer dans l'événementiel démarrage.
mais surtout si tu débutes , je te conseille de ne jamias mettre au point directement dans ces modules spéciaux , et plutot de travailler dans un module standard.
Voici le code :
' A l 'ouverture du fichier
'Private Sub Workbook_Open()
'Ok, pour les tests autant les réaliser dans un module classique .
'une fois ok , souvent un simple appel via l'événementiel de ce code est alors plus simple
Sub Ouverture()
'Déclaration des variables
Dim LigneFin As Long
Dim Boucle As Long
Dim DateLimiteDepot As String
'Sélection de la feuille "Base de données"
Sheets("Base de données").Select
'Calcul de la derniére ligne renseignée de la feuille sur la colonne A
LigneFin = Range("A" & Rows.Count).End(xlUp).Row
'Pour l'ensemble des lignes de la 7° à la derniére
For Boucle = 7 To LigneFin
' Si la valeur de la colonne U est vide
' ou différente de la valeur "Attente retour" alors exit sub
If Range("U" & Boucle) = "Attente retour" And Range("U" & Boucle) <> "" Then
' Si la date positionnée dans la colonne 14 (date limite de dépôt)
' est inférieure ou égale à la date du jour -10
'Lecture de la date de limite de dépot et calcul de la date limite virtuelle
DateLimiteDepot = DateAdd("d", -10, Range("N" & Boucle))
'c'est à dire que la date limite de dépôt sera dépassée dans 10 jours)
If DateDiff("d", DateLimiteDepot, Date) > 0 Then
Cells(Boucle, 15).Value = "trop tard"
End If
End If
'incrémente boucle, si encore dans limite alors réitére la boucle
Next Boucle
End Sub