Afficher dans msgbox dates particulières

  • Initiateur de la discussion Initiateur de la discussion kooki91
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

K

kooki91

Guest
Bonjour,

J'ai fais le tour du forum et ne trouve pas la solution à mon problème.

Je vais essayer d'être le plus clair possible :

J'ai une plage de Date sur une colonne (date de fin de contrats)

Et je souhaiterais avoir un msgbox qui s'affiche lorsque j'ouvre excel ou que je clique sur un bouton avec les contrats dont la date de fin est à 10 jours de la date d'aujourd'hui.

J'ai tout retourné dans tous les sens.

Merci bcp bcp pour votre aide.

PS : Peut-être une colle pour Monique ...
 
Re et bonjour José

Excuse moi mais boulot urgent à faire comme d'hab: nouvel essai de PJ

mais c'est à peu près la même solution que JPMS

Michel [file name=contrat.zip size=6674]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/contrat.zip[/file]
 

Pièces jointes

merci bcp, je m'approche de mes désiratas.

Le problème c'est que cela ne m'affiche que les contrats se terminant après ou égal à 1 date.

ce que je voudrais c'est que cela ne m'affiche que les contrats se terminant entre aujourd'hui et dans 10 jours.

Merci bcp bcp
 
Bonjour,

sur la base du fichier de michel_m, tu peux essayer le code suivant:
Code:
Sub finir_contrat()
Dim i As Integer
Dim Message as string

Message = '' & (vbLf)
i = 1
While Cells(i, 2) <> ''
If DateDiff('d', Now, Cells(i, 2)) <= 10 Then
    Message = Message & Cells(i, 1) & (vbLf)
End If
    i = i + 1
Wend

MsgBox 'contrat arrivant à terme: ' & Message

End Sub

cela devra résoudre ton pb.....

A+

DSA
 
Re,

Je viens de réessayer ma bidouille

Seuls les contrats dont la date en colonne B est compris entre aujourd'hui et le 4 juillet inclus sont affichés

ce qui coorespond bien à ta demande

ce que je voudrais c'est que cela ne m'affiche que les contrats se terminant entre aujourd'hui et
dans 10 jours.

Michel
 
Coucou ... poir une fois que je contribue (mais en pompant sur les autres contributions 🙁 )

Donc je ne sais pas si cela correspond à ton problème mais en tout cas, j'avais une problèmatique QUASI similaire à la tienne : me rappeler quels projets devaient être résolus dans un délais 10 jours avant la date finale d'éxécution ... afin que je prépare bien ces projets justement 🙂

Donc le code VBA est très inspiré des deux exemples cités et, dans mon cas (et j'espère le tien) CORRESPOND parfaitement à mon (notre ?) besoin :

le voici le piti code



Sub finir_contrat()
Dim Message As String
Dim c As Range
For Each c In Range('B1:B15') ' A adapter

If DateDiff('d', Now, c.Value) <= 10 Then
If DateDiff('d', Now, c.Value) > 0 Then
Message = Message & 'contrat à terme ' & c.Offset(0, -1) & ' - ' & vbCrLf
End If
End If
Next c
MsgBox Message
End Sub


Comme cela, seules les dates comprises dans l'intervalle [ aujourd'hui - aujourd'hui + 10] sont pris en compte. Bye
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Aide Excel formule
Réponses
4
Affichages
479
Retour