Gestion de délai
Fermé
Renaud
-
3 sept. 2014 à 15:25
Ren033 Messages postés 5 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 10 septembre 2014 - 10 sept. 2014 à 09:03
Ren033 Messages postés 5 Date d'inscription vendredi 5 septembre 2014 Statut Membre Dernière intervention 10 septembre 2014 - 10 sept. 2014 à 09:03
A voir également:
- Gestion de délai
- Logiciel gestion photo gratuit - Guide
- Logiciel gestion locative gratuit excel - Télécharger - Comptabilité & Facturation
- Logiciel gestion cave à vin gratuit excel - Télécharger - Cuisine & Gastronomie
- Gestion autorisation application android - Guide
- Tfc informatique de gestion g3 pdf ✓ - Forum Access
6 réponses
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
9 sept. 2014 à 10:36
9 sept. 2014 à 10:36
Bonjour
Qu'as tu dans la colonne délai ?
As tu bien un nombre seul (2, 7 ..) comme je l'indiquais dans mon premier message et non pas du texte car sinon Excel ne peut pas calculer la date prévue de réalisation
Cdlmnt
Qu'as tu dans la colonne délai ?
As tu bien un nombre seul (2, 7 ..) comme je l'indiquais dans mon premier message et non pas du texte car sinon Excel ne peut pas calculer la date prévue de réalisation
Cdlmnt
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
3 sept. 2014 à 15:56
3 sept. 2014 à 15:56
Bonjour
Pour le 1, il suffit dans la base de donnée de la feuille 2 d'avoir en regard de chaque choix possible le délai correspondant
Ensuite dans les cellules de la colonne C une RECHERCHEV à partir du choix fait permettra de renvoyer le bon délai (attention que le délai soit bien simplement numérique 2, 7 etc (et non pas 2j ..) pour pouvoir l'utiliser dans le calcul du 2
Pour le 2 il faudrait alors qu'à chaque ouverture de classeur toutes les lignes du tableau soient passées en revue, et que celles atteignant la limite de 2 jours (ou moins) soient relevées et affichées dans une boite de message ? Mais qu'afficher ? un n° de dossier ? la date de la demande ? ou autre
Celles ayant la colonne D complétée étant exclues comme réalisées ?
Le plus simple pour te guider dans la macro est d'avoir un exemple allégé et anonymé de ton fichier. Tu le postes sur cjoint.com et tu reviens ici indiquer le lien fourni
Dans l'attente
Cdlmnt
Pour le 1, il suffit dans la base de donnée de la feuille 2 d'avoir en regard de chaque choix possible le délai correspondant
Ensuite dans les cellules de la colonne C une RECHERCHEV à partir du choix fait permettra de renvoyer le bon délai (attention que le délai soit bien simplement numérique 2, 7 etc (et non pas 2j ..) pour pouvoir l'utiliser dans le calcul du 2
Pour le 2 il faudrait alors qu'à chaque ouverture de classeur toutes les lignes du tableau soient passées en revue, et que celles atteignant la limite de 2 jours (ou moins) soient relevées et affichées dans une boite de message ? Mais qu'afficher ? un n° de dossier ? la date de la demande ? ou autre
Celles ayant la colonne D complétée étant exclues comme réalisées ?
Le plus simple pour te guider dans la macro est d'avoir un exemple allégé et anonymé de ton fichier. Tu le postes sur cjoint.com et tu reviens ici indiquer le lien fourni
Dans l'attente
Cdlmnt
Bonjour,
Je ne peux malheureusement pas accéder au site cjoint.com mais effectivement il faudrait qu'à l'ouverture du classement, un message affichant le nom du client (en colonne E par ex) ainsi que la ligne concernée apparaisse.
Pouvez vous également détailler la recherchev s'il vous plait ?
Encore désolé de ne pouvoir joindre un fichier et merci du temps que vous m'accordez.
Cordialement,
Je ne peux malheureusement pas accéder au site cjoint.com mais effectivement il faudrait qu'à l'ouverture du classement, un message affichant le nom du client (en colonne E par ex) ainsi que la ligne concernée apparaisse.
Pouvez vous également détailler la recherchev s'il vous plait ?
Encore désolé de ne pouvoir joindre un fichier et merci du temps que vous m'accordez.
Cordialement,
Re bonjour,
Après plusieurs essais, j'ai toujours le même problème concernant ma recherchev à savoir que les lignes de la table matrice se décale lorsque je glisse ma formule sur plusieurs ligne dans la feuille 1, ce qui fausse totalement les délais écris en feuille 2. Même en saisissant à la main plusieurs cellules pour en sélectionner plusieurs afin qu'excel comprenne que seul la ligne de la valeur recherchée varie je n'obtiens toujours pas le résultat souhaité.
J'en profite pour rajouter un oubli dans la réponse précédente : effectivement lorsque la colonne D est remplie, on considère la demande résolue et elle n'a plus besoin d'apparaitre dans la message box.
Merci encore pour tout
Après plusieurs essais, j'ai toujours le même problème concernant ma recherchev à savoir que les lignes de la table matrice se décale lorsque je glisse ma formule sur plusieurs ligne dans la feuille 1, ce qui fausse totalement les délais écris en feuille 2. Même en saisissant à la main plusieurs cellules pour en sélectionner plusieurs afin qu'excel comprenne que seul la ligne de la valeur recherchée varie je n'obtiens toujours pas le résultat souhaité.
J'en profite pour rajouter un oubli dans la réponse précédente : effectivement lorsque la colonne D est remplie, on considère la demande résolue et elle n'a plus besoin d'apparaitre dans la message box.
Merci encore pour tout
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
5 sept. 2014 à 16:39
5 sept. 2014 à 16:39
Bonjour,
1) La formule de recherchev doit contenir une référence relative (sans$) pour la valeur à rechercher et une référence absolue pour la matrice de recherche (avec $) du style :
= RECHERCHEV(B2;Feuil2!$A$2:$B$10;2;0)
2)" Un message à l'ouverture du classeur indiquant le(s) nom(s) clients(s) concerné(s)", Ok mais où soit être récupéré le nom client ?
En fait si c'est pour visualiser les lignes arrivant à date une macro n'est peut être pas nécessaire, une mise en forme conditionnelle mettant en couleur les lignes sans date de réalisation et dont la fin du délai est dans les 2 jours peut être suffisante; dans ce cas selectionner toute la plage concernée dans les colonnes de A à D, Mise en forme condittionnelle Nouvelle régle Appliquer formule et entrer la formule suivante :
=ET($D2="";($A2+$C2)-AUJOURDHUI()<=2;($A2+$C2)-AUJOURDHUI()>=0)
si la 1ere cellule de la plage est la cellule A2; sinon adapter les références 2 avec un autre n° de ligne - bien respecter les $ aux bons endroits pour que la MFC fonctionne correctement sur la ligne
Cdlmnt
1) La formule de recherchev doit contenir une référence relative (sans$) pour la valeur à rechercher et une référence absolue pour la matrice de recherche (avec $) du style :
= RECHERCHEV(B2;Feuil2!$A$2:$B$10;2;0)
2)" Un message à l'ouverture du classeur indiquant le(s) nom(s) clients(s) concerné(s)", Ok mais où soit être récupéré le nom client ?
En fait si c'est pour visualiser les lignes arrivant à date une macro n'est peut être pas nécessaire, une mise en forme conditionnelle mettant en couleur les lignes sans date de réalisation et dont la fin du délai est dans les 2 jours peut être suffisante; dans ce cas selectionner toute la plage concernée dans les colonnes de A à D, Mise en forme condittionnelle Nouvelle régle Appliquer formule et entrer la formule suivante :
=ET($D2="";($A2+$C2)-AUJOURDHUI()<=2;($A2+$C2)-AUJOURDHUI()>=0)
si la 1ere cellule de la plage est la cellule A2; sinon adapter les références 2 avec un autre n° de ligne - bien respecter les $ aux bons endroits pour que la MFC fonctionne correctement sur la ligne
Cdlmnt
Bonjour,
Tout d'abord je vous remercie encore du temps que vous passez à m'aider ! Toutefois, après avoir essayé votre formule de MFC, cela ne convient pas tout à fait à ce que je souhaite. En effet, toute la ligne se colore en rouge or j'ai déjà des codes couleurs sur d'autres colonnes et cela fausse et mélange un peu les couleurs.
J'ai voulu simplifier l'aspect de mon tableau pour vous le "présenter" mais peut être que cela vous aiderait plus si je vous le détaillai mieux :
Col. A = date de la prise de la demande
Col. C = Client
Col. D = N°Client
Col. G = Demande
Col. K = Etat
Col. L = Délai
Col. N = Date de réalisation
Cette liste présente les colonnes qui apparaissent dans les formules/macros, les autres étant des renseignements qui n'importe pas dans la gestion du délai à proprement parler.
Je souhaiterai donc qu'il y ait une fenetre qui s'ouvre en précisant le nom du client (C) et son n° (D) si le délai (L) arrive à échéance (2js après aujourd'hui). Et si possible, une fois la colonne état (K) remplie sur : "cloturée" la ligne disparait de la fenetre d'alerte.
J'espère avoir été plus précis et je vous remercie une fois de plus de votre aide très appréciée !
Bien à vous,
Renaud
Tout d'abord je vous remercie encore du temps que vous passez à m'aider ! Toutefois, après avoir essayé votre formule de MFC, cela ne convient pas tout à fait à ce que je souhaite. En effet, toute la ligne se colore en rouge or j'ai déjà des codes couleurs sur d'autres colonnes et cela fausse et mélange un peu les couleurs.
J'ai voulu simplifier l'aspect de mon tableau pour vous le "présenter" mais peut être que cela vous aiderait plus si je vous le détaillai mieux :
Col. A = date de la prise de la demande
Col. C = Client
Col. D = N°Client
Col. G = Demande
Col. K = Etat
Col. L = Délai
Col. N = Date de réalisation
Cette liste présente les colonnes qui apparaissent dans les formules/macros, les autres étant des renseignements qui n'importe pas dans la gestion du délai à proprement parler.
Je souhaiterai donc qu'il y ait une fenetre qui s'ouvre en précisant le nom du client (C) et son n° (D) si le délai (L) arrive à échéance (2js après aujourd'hui). Et si possible, une fois la colonne état (K) remplie sur : "cloturée" la ligne disparait de la fenetre d'alerte.
J'espère avoir été plus précis et je vous remercie une fois de plus de votre aide très appréciée !
Bien à vous,
Renaud
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
8 sept. 2014 à 19:23
8 sept. 2014 à 19:23
Bonjour
Essaie alors cette macro à mettre dans This Worbook de l'éditeur VBA puis fermer et rouvrir le classeur
Private Sub Workbook_Open()
alert = ""
depass = ""
Dim DernLigne As Long
DernLigne = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row ' derniere ligne non vide
For n = 2 To DernLigne
real = CDate(Sheets(1).Range("A" & n) + Sheets(1).Range("L" & n)) ' date réalisation prévue
del = real - Date
If Sheets(1).Range("K" & n) <> "cloturée" Then
If del >= 0 And del < 3 Then alert = alert & Sheets(1).Range("C" & n) & " n° " & Sheets(1).Range("D" & n) & " " & real & Chr(10)
ElseIf del < 0 Then depass = depass & Sheets(1).Range("C" & n) & " n° " & Sheets(1).Range("D" & n) & " " & real & Chr(10)
End If
Next
MsgBox ("A ECHEANCE LE :" & Chr(10) & alert & Chr(10) & Chr(10) & "DELAI DEPASSE :" & Chr(10) & depass)
End Sub
Sheets(1) fait référence à la 1ere feuille du classeur quelque soit son nom, à modifier si nécessaire
A chaque ouverture du classeur la macro affiche la fenêtre d'alerte
Cdlmnt
Essaie alors cette macro à mettre dans This Worbook de l'éditeur VBA puis fermer et rouvrir le classeur
Private Sub Workbook_Open()
alert = ""
depass = ""
Dim DernLigne As Long
DernLigne = Sheets(1).Range("A" & Rows.Count).End(xlUp).Row ' derniere ligne non vide
For n = 2 To DernLigne
real = CDate(Sheets(1).Range("A" & n) + Sheets(1).Range("L" & n)) ' date réalisation prévue
del = real - Date
If Sheets(1).Range("K" & n) <> "cloturée" Then
If del >= 0 And del < 3 Then alert = alert & Sheets(1).Range("C" & n) & " n° " & Sheets(1).Range("D" & n) & " " & real & Chr(10)
ElseIf del < 0 Then depass = depass & Sheets(1).Range("C" & n) & " n° " & Sheets(1).Range("D" & n) & " " & real & Chr(10)
End If
Next
MsgBox ("A ECHEANCE LE :" & Chr(10) & alert & Chr(10) & Chr(10) & "DELAI DEPASSE :" & Chr(10) & depass)
End Sub
Sheets(1) fait référence à la 1ere feuille du classeur quelque soit son nom, à modifier si nécessaire
A chaque ouverture du classeur la macro affiche la fenêtre d'alerte
Cdlmnt
Bonjour,
Merci pour votre réponse.
J'ai entré la macro que vous m'avez soumise hier soir. J'ai également renseigné quelques lignes pour avoir des données à afficher mais à l'ouverture du fichier j'ai une fenêtre " Erreur d'exécution type "13" " : incompatibilité de type.
Lorsque je clique sur débogage, la ligne : "real = CDate(Sheets(1).Range("A" & n) + Sheets(1).Range("L" & n)) ' date réalisation prévue" est surlignée en jaune.
Merci de votre aide.
Cordialement,
Renaud
Merci pour votre réponse.
J'ai entré la macro que vous m'avez soumise hier soir. J'ai également renseigné quelques lignes pour avoir des données à afficher mais à l'ouverture du fichier j'ai une fenêtre " Erreur d'exécution type "13" " : incompatibilité de type.
Lorsque je clique sur débogage, la ligne : "real = CDate(Sheets(1).Range("A" & n) + Sheets(1).Range("L" & n)) ' date réalisation prévue" est surlignée en jaune.
Merci de votre aide.
Cordialement,
Renaud
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
9 sept. 2014 à 15:51
9 sept. 2014 à 15:51
Là encore ça marche chez moi et sans ton fichier pas moyen de savoir où est le bug
la variable del est le résultat de la différence entre la date de realisation (calculée) et la date du jour et donne donc un nombre négatif si le délai est dépassé d'où la ligne ElseIf del < 0 Then depass = depass & Sheets(1).Range("C" & n) & " n° " &
mais avant on a exclu les lignes avec la mention cloturée :
If Sheets(1).Range("K" & n) <> "cloturée" Then
Seules sont affichées les lignes non cloturées avec délai dépassé
la variable del est le résultat de la différence entre la date de realisation (calculée) et la date du jour et donne donc un nombre négatif si le délai est dépassé d'où la ligne ElseIf del < 0 Then depass = depass & Sheets(1).Range("C" & n) & " n° " &
mais avant on a exclu les lignes avec la mention cloturée :
If Sheets(1).Range("K" & n) <> "cloturée" Then
Seules sont affichées les lignes non cloturées avec délai dépassé
Ren033
Messages postés
5
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
10 septembre 2014
9 sept. 2014 à 16:01
9 sept. 2014 à 16:01
J'ai réussi a afficher les délais dépassés en mettant If a la place de ElseIf.
Pour être plus perfectionniste, on me demande maintenant d'ajouter un bouton sur la feuille qui permet de remontrer le message sans avoir a rouvrir/fermer le fichier... Que d'exigences !
Merci encore pour tout !
Pour être plus perfectionniste, on me demande maintenant d'ajouter un bouton sur la feuille qui permet de remontrer le message sans avoir a rouvrir/fermer le fichier... Que d'exigences !
Merci encore pour tout !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
Modifié par via55 le 9/09/2014 à 16:37
Modifié par via55 le 9/09/2014 à 16:37
Pour que la macro soit accessible nimporte où
1) l'enlever de workbook Open (mais laisser le titre sub WB OPen et le end sub)et la mettre dans un module en lui donnant un nom par ex Sub alerte
2) dans this woorkbok entre sub WB OPen et end sub mettre simplement le nom de la macro : alerte
3) Crée le bouton controla ACtive X sur la feuille pusi clic droit sur Bouton visualiser le code et là aussi simplement mettre le nom de la macro à executer : alerte
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
1) l'enlever de workbook Open (mais laisser le titre sub WB OPen et le end sub)et la mettre dans un module en lui donnant un nom par ex Sub alerte
2) dans this woorkbok entre sub WB OPen et end sub mettre simplement le nom de la macro : alerte
3) Crée le bouton controla ACtive X sur la feuille pusi clic droit sur Bouton visualiser le code et là aussi simplement mettre le nom de la macro à executer : alerte
Cdlmnt
"L'imagination est plus importante que le savoir." A. Einstein
Ren033
Messages postés
5
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
10 septembre 2014
10 sept. 2014 à 09:03
10 sept. 2014 à 09:03
Bonjour,
C'est parfait merci beaucoup !
Je vous remercie vraiment du temps que vous m'avez consacré !
A bientôt
Cordialement,
Renaud
C'est parfait merci beaucoup !
Je vous remercie vraiment du temps que vous m'avez consacré !
A bientôt
Cordialement,
Renaud
via55
Messages postés
14509
Date d'inscription
mercredi 16 janvier 2013
Statut
Membre
Dernière intervention
2 janvier 2025
2 738
9 sept. 2014 à 12:13
9 sept. 2014 à 12:13
Essaie de trouver un autre site de partage de fichier comme transfertnow auquel tu puisses accéder car sans voir ton fichier je ne peux pas deviner ce qui cloche, la macro marche chez moi
Cdlmnt
Cdlmnt
Ren033
Messages postés
5
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
10 septembre 2014
9 sept. 2014 à 14:04
9 sept. 2014 à 14:04
J'ai trouvé le problème, j'avais une ligne figée, ce qui fait que dans la macro on avait n=2 alors que sur le fichier, n=3 ! Petite erreur d'inattention de ma part !
Tout marche très bien, c'est exactement ce que je souhaitais ! Encore mille merci pour votre aide plus que précieuse !
A bientôt.
Très cordialement,
Renaud
Tout marche très bien, c'est exactement ce que je souhaitais ! Encore mille merci pour votre aide plus que précieuse !
A bientôt.
Très cordialement,
Renaud
Ren033
Messages postés
5
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
10 septembre 2014
>
Ren033
Messages postés
5
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
10 septembre 2014
9 sept. 2014 à 14:16
9 sept. 2014 à 14:16
Désolé pour le double post. J'ai peut être parlé un peu vite. La message box n'affiche pas les lignes dont les délais sont dépassés...
Ren033
Messages postés
5
Date d'inscription
vendredi 5 septembre 2014
Statut
Membre
Dernière intervention
10 septembre 2014
9 sept. 2014 à 14:04
9 sept. 2014 à 14:04
J'ai trouvé le problème, j'avais une ligne figée, ce qui fait que dans la macro on avait n=2 alors que sur le fichier, n=3 ! Petite erreur d'inattention de ma part !
Tout marche très bien, c'est exactement ce que je souhaitais ! Encore mille merci pour votre aide plus que précieuse !
A bientôt.
Très cordialement,
Renaud
Tout marche très bien, c'est exactement ce que je souhaitais ! Encore mille merci pour votre aide plus que précieuse !
A bientôt.
Très cordialement,
Renaud
9 sept. 2014 à 10:57
Oui j'ai bien un nombre seul.
Ma colonne A "Date" est sous la forme 09/09/14 et ma colonne L "Délai" contient uniquement un nombre seul (parmi : 2,7,15 et 30)
Merci
9 sept. 2014 à 11:31
9 sept. 2014 à 11:38