OVH Cloud OVH Cloud

Calendrier 24 hres prise 2

3 réponses
Avatar
Yves Trudel
Bonjour,
J'avais demandé il y a 2 semaines votre aide pour spécifier un calendrier 24
hres si le texte 6 contenait les lettres "sd". Vous m'avez très bien répondu
et tout a fonctionné jusqu'à hier. Je me suis aperçu que si j'établis une
durée avec du temps écoulé, la macro fonctionne jusqu'à ce qu'elle rencontre
cette ligne. J'ai essayé bien maladroitement de corriger le tir, mais je
suis loin du succès. J'ai inséré les lignes précédées de ">".
L'idée était de dire à la macro: si tu rencontre le caractère "é" dans la
colonne durée, fais comme si "sd" était absent dans texte6.
Je vous remercie encore à l'avance pour votre aide.

Yves


Sub CalendrierShutDown()
Dim oTache As Object
For Each oTache In ActiveProject.Tasks
If Not oTache Is Nothing Then
If oTache.Text6 = "sd" Then
> ' If InStr(Task.Durée, "é") Then
> 'next
oTache.Calendar = "24 Heures"
'On Error Resume Next
End If


End Sub

3 réponses

Avatar
Gérard Ducouret
Bonjour Yves,

Le test sur le "é" de "écoulé" n'est pas facile car ce "é" n'est visiblement
pas une chaîne de caractères.
Voici ce que j'ai pu trouver. C'est un peu lourd comme test mais ca marche.
Si quelqu'un trouve un test plus élégant, je suis preneur !
Cordialement,

Gérard Ducouret
PragmaSoft ®

Sub TaskCal()
Dim oTache As Object
For Each oTache In ActiveProject.Tasks
If Not oTache Is Nothing Then
If oTache.Text6 = "sd" Then
If (DateDiff("d", oTache.Start, oTache.Finish) <> oTache.Duration /
1440) Then
oTache.Calendar = "TaskCal"
oTache.IgnoreResourceCalendar = True
End If
Else
oTache.Calendar = "None"
End If
End If
Next
End Sub




"Yves Trudel" a écrit dans le message de news:

Bonjour,
J'avais demandé il y a 2 semaines votre aide pour spécifier un calendrier
24

hres si le texte 6 contenait les lettres "sd". Vous m'avez très bien
répondu

et tout a fonctionné jusqu'à hier. Je me suis aperçu que si j'établis une
durée avec du temps écoulé, la macro fonctionne jusqu'à ce qu'elle
rencontre

cette ligne. J'ai essayé bien maladroitement de corriger le tir, mais je
suis loin du succès. J'ai inséré les lignes précédées de ">".
L'idée était de dire à la macro: si tu rencontre le caractère "é" dans la
colonne durée, fais comme si "sd" était absent dans texte6.
Je vous remercie encore à l'avance pour votre aide.

Yves


Sub CalendrierShutDown()
Dim oTache As Object
For Each oTache In ActiveProject.Tasks
If Not oTache Is Nothing Then
If oTache.Text6 = "sd" Then
' If InStr(Task.Durée, "é") Then
'next
oTache.Calendar = "24 Heures"

'On Error Resume Next
End If


End Sub





Avatar
Jan De Messemaeker
Bonjour,

Permettez-moi de rajouter mon grain de sel
A ma connaissance le retour de la fonction Instr est toujours un chiffre pas
un Boolean
J'écris toujours if instr("xyz")=0 then

Bien à vous,

--
Jan De Messemaeker
Microsoft Project Most Valuable Professional
Project Management Consultancy
Prom+ade BVBA
32-495-300 620
"Yves Trudel" schreef in bericht
news:
Bonjour,
J'avais demandé il y a 2 semaines votre aide pour spécifier un calendrier
24

hres si le texte 6 contenait les lettres "sd". Vous m'avez très bien
répondu

et tout a fonctionné jusqu'à hier. Je me suis aperçu que si j'établis une
durée avec du temps écoulé, la macro fonctionne jusqu'à ce qu'elle
rencontre

cette ligne. J'ai essayé bien maladroitement de corriger le tir, mais je
suis loin du succès. J'ai inséré les lignes précédées de ">".
L'idée était de dire à la macro: si tu rencontre le caractère "é" dans la
colonne durée, fais comme si "sd" était absent dans texte6.
Je vous remercie encore à l'avance pour votre aide.

Yves


Sub CalendrierShutDown()
Dim oTache As Object
For Each oTache In ActiveProject.Tasks
If Not oTache Is Nothing Then
If oTache.Text6 = "sd" Then
' If InStr(Task.Durée, "é") Then
'next
oTache.Calendar = "24 Heures"

'On Error Resume Next
End If


End Sub





Avatar
Gérard Ducouret
Bonsoir Jan,

Ca c'est sur, mais la ligne suivante
If InStr(1, CStr(oTache.Duration), "ed") > 0 Then
...ne trouve jamais le "ed" (anglais) ni le "é" (français).

Gérard


"Jan De Messemaeker" <jandemes at prom hyphen ade dot be> a écrit dans le
message de news:
Bonjour,

Permettez-moi de rajouter mon grain de sel
A ma connaissance le retour de la fonction Instr est toujours un chiffre
pas

un Boolean
J'écris toujours if instr("xyz")=0 then

Bien à vous,

--
Jan De Messemaeker
Microsoft Project Most Valuable Professional
Project Management Consultancy
Prom+ade BVBA
32-495-300 620
"Yves Trudel" schreef in bericht
news:
Bonjour,
J'avais demandé il y a 2 semaines votre aide pour spécifier un
calendrier


24
hres si le texte 6 contenait les lettres "sd". Vous m'avez très bien
répondu

et tout a fonctionné jusqu'à hier. Je me suis aperçu que si j'établis
une


durée avec du temps écoulé, la macro fonctionne jusqu'à ce qu'elle
rencontre

cette ligne. J'ai essayé bien maladroitement de corriger le tir, mais je
suis loin du succès. J'ai inséré les lignes précédées de ">".
L'idée était de dire à la macro: si tu rencontre le caractère "é" dans
la


colonne durée, fais comme si "sd" était absent dans texte6.
Je vous remercie encore à l'avance pour votre aide.

Yves


Sub CalendrierShutDown()
Dim oTache As Object
For Each oTache In ActiveProject.Tasks
If Not oTache Is Nothing Then
If oTache.Text6 = "sd" Then
' If InStr(Task.Durée, "é") Then
'next
oTache.Calendar = "24 Heures"

'On Error Resume Next
End If


End Sub