! pop up date et délai dépassé !
Résolu/Fermé
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
-
8 juil. 2009 à 15:09
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 9 juil. 2009 à 10:45
tony020422 Messages postés 445 Date d'inscription mercredi 7 mai 2008 Statut Membre Dernière intervention 19 janvier 2010 - 9 juil. 2009 à 10:45
A voir également:
- ! pop up date et délai dépassé !
- Serveur pop - Guide
- Sketch up - Télécharger - 3D
- Pop up mobile external mode d'emploi - Forum Lecteurs et supports vidéo
- Tune up - Télécharger - Utilitaires
- Autoriser pop up firefox - Guide
7 réponses
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
8 juil. 2009 à 15:33
8 juil. 2009 à 15:33
Bon, pour les jours ouvré ou pas.. faut voir a la fin, une fois que ca tourne... mais tout d abord.. en quoi c'est ton prog ??
vb, c++, access???
vb, c++, access???
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
8 juil. 2009 à 16:12
8 juil. 2009 à 16:12
c'est vrai dsl!
ss excel 2003;-)
ss excel 2003;-)
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
8 juil. 2009 à 16:15
8 juil. 2009 à 16:15
j'ai mis ca et ca marche:
Code :
Dim date1 As Date, date2 As Date, duree As Integer
date1 = [C4].Value
date2 = Format(Now, "dd/mm/yyyy")
duree = DateDiff("d", date1, date2)
MsgBox "Durée en jours : " & duree --> j'obtiens bien un pop un avec le bon nb dejours
pi faudrait faire :
si duree > 5 et que l'on a "N" en colonne E et "C" en colonne G alors 1 MsgBox
si duree > 7 et que l'on a "N" en colonne E et "N" en colonne G alors 1 autre MsgBox
si duree > 10 et que l'on a "N" en colonne E et "G" en colonne G alors encore 1 autre MsgBox
et evidemment dés que la colonne E passe de "N" à "O" on ne met plu ces pop up là mais un disant simplement "vous avez bien répondu au courrier..."
le problème?! tout ca, je ne sais pas le faire !
Merci par avance pour ton aide !!
Code :
Dim date1 As Date, date2 As Date, duree As Integer
date1 = [C4].Value
date2 = Format(Now, "dd/mm/yyyy")
duree = DateDiff("d", date1, date2)
MsgBox "Durée en jours : " & duree --> j'obtiens bien un pop un avec le bon nb dejours
pi faudrait faire :
si duree > 5 et que l'on a "N" en colonne E et "C" en colonne G alors 1 MsgBox
si duree > 7 et que l'on a "N" en colonne E et "N" en colonne G alors 1 autre MsgBox
si duree > 10 et que l'on a "N" en colonne E et "G" en colonne G alors encore 1 autre MsgBox
et evidemment dés que la colonne E passe de "N" à "O" on ne met plu ces pop up là mais un disant simplement "vous avez bien répondu au courrier..."
le problème?! tout ca, je ne sais pas le faire !
Merci par avance pour ton aide !!
jjsteing
Messages postés
1669
Date d'inscription
vendredi 11 mai 2007
Statut
Contributeur
Dernière intervention
21 mai 2012
181
8 juil. 2009 à 21:37
8 juil. 2009 à 21:37
si duree > 5 et que l'on a "N" en colonne E et "C" en colonne G alors 1 MsgBox
en pratique sur vb ca donne quelque chose comme :
if duree> 5 and Worksheets(1).Range ("E1").value="N" and Worksheets(1).Range ("G1").value="C" then msgbox ">5 N et C"
je sais qu il y a une fonction sous vb pour savoir la cellule en cours ce qui te donnera la ligne sur laquel tu bosse.. puis tu peux te deplacer à la ligne suivante et faire une boucle jusqu a la fin du tableau ( Worksheets(1).Range ("G33").value="" then end do)
en pratique sur vb ca donne quelque chose comme :
if duree> 5 and Worksheets(1).Range ("E1").value="N" and Worksheets(1).Range ("G1").value="C" then msgbox ">5 N et C"
je sais qu il y a une fonction sous vb pour savoir la cellule en cours ce qui te donnera la ligne sur laquel tu bosse.. puis tu peux te deplacer à la ligne suivante et faire une boucle jusqu a la fin du tableau ( Worksheets(1).Range ("G33").value="" then end do)
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
9 juil. 2009 à 08:17
9 juil. 2009 à 08:17
Bonjour jjsteing,
alors pour ma boucle et mes conditions voila ce que j'ai fais:
Dim date1 As Date, date2 As Date, duree As Integer
dlng = Range("C65536").End(xlUp).Row
For I = 4 To dlng
date1 = Cells(I, 3).Value
date2 = Date
duree = DateDiff("d", date1, date2)
If duree > 5 And Cells(I, 5).Value = "N" And Cells(I, 7).Value = "C" Then
MsgBox "Vous devez répondre impérativement aux courriers critiques! (en rouge)"
ElseIf duree > 10 And Cells(I, 5).Value = "N" And Cells(I, 7).Value = "N" Then
MsgBox "Il faut répondre aux courriers clients en attente! (en attente)"
ElseIf duree > 15 And Cells(I, 5).Value = "N" And Cells(I, 7).Value = "F" Then
MsgBox "Il faut penser à répondre aux courriers clients...(en violet)"
Else
MsgBox "Vous avez bien répondu au courrier"
End If
Next
End Sub
ca marche bien... seulement j'ai des soucis:
il faudrait qu'a l'ouverture du fichier nous vérifions TOUTES les lignes de facon a ce que l'on vérifie a chaque fois si les délais de réponses client sont respectés suivant l'état (Critique Normal Faible), et le cas échéant afficher un pop up signalant la liste des affaires pour lesquelles le courrier dépasse les délais fixés..
je ne veux donc pas que cela se lance pour un chgt sur une des valeurs de ma feuille...quoi que...quel est le plus intelligent selon vous ?!
alors pour ma boucle et mes conditions voila ce que j'ai fais:
Dim date1 As Date, date2 As Date, duree As Integer
dlng = Range("C65536").End(xlUp).Row
For I = 4 To dlng
date1 = Cells(I, 3).Value
date2 = Date
duree = DateDiff("d", date1, date2)
If duree > 5 And Cells(I, 5).Value = "N" And Cells(I, 7).Value = "C" Then
MsgBox "Vous devez répondre impérativement aux courriers critiques! (en rouge)"
ElseIf duree > 10 And Cells(I, 5).Value = "N" And Cells(I, 7).Value = "N" Then
MsgBox "Il faut répondre aux courriers clients en attente! (en attente)"
ElseIf duree > 15 And Cells(I, 5).Value = "N" And Cells(I, 7).Value = "F" Then
MsgBox "Il faut penser à répondre aux courriers clients...(en violet)"
Else
MsgBox "Vous avez bien répondu au courrier"
End If
Next
End Sub
ca marche bien... seulement j'ai des soucis:
il faudrait qu'a l'ouverture du fichier nous vérifions TOUTES les lignes de facon a ce que l'on vérifie a chaque fois si les délais de réponses client sont respectés suivant l'état (Critique Normal Faible), et le cas échéant afficher un pop up signalant la liste des affaires pour lesquelles le courrier dépasse les délais fixés..
je ne veux donc pas que cela se lance pour un chgt sur une des valeurs de ma feuille...quoi que...quel est le plus intelligent selon vous ?!
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
9 juil. 2009 à 10:45
9 juil. 2009 à 10:45
bon ben avec l'aide d'un collegue on a réussi a faire ce qu'il faut et le script tourne nikel ;-)
Merci quand meme de t'etre penché sur le problème!
@ bientot sur CCM !
Merci quand meme de t'etre penché sur le problème!
@ bientot sur CCM !
tony020422
Messages postés
445
Date d'inscription
mercredi 7 mai 2008
Statut
Membre
Dernière intervention
19 janvier 2010
6
9 juil. 2009 à 10:45
9 juil. 2009 à 10:45
bon ben avec l'aide d'un collegue on a réussi a faire ce qu'il faut et le script tourne nikel ;-)
Merci quand meme de t'etre penché sur le problème!
@ bientot sur CCM !
Merci quand meme de t'etre penché sur le problème!
@ bientot sur CCM !