Afficher dans msgbox dates particulières

  • Initiateur de la discussion kooki91
  • Date de début
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 ...
 
M

michel_m

Guest
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

  • contrat.zip
    6.5 KB · Affichages: 27
  • contrat.zip
    6.5 KB · Affichages: 29
  • contrat.zip
    6.5 KB · Affichages: 28
K

kooki91

Guest
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
 

DSA

XLDnaute Junior
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
 
M

michel_m

Guest
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
 

dagada75

XLDnaute Nouveau
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
 

Discussions similaires

Statistiques des forums

Discussions
312 345
Messages
2 087 457
Membres
103 546
dernier inscrit
mohamed tano