iCal

popsong

Membre confirmé
7 Juillet 2005
21
0
Bonjour,

Existe-t-il un moyen de modifier la durée de plusieurs évènements : en fait, j'ai environ 30 evenements par jour et tous d'une durée d'1 heure, je voudrais réduire la durée à 15 minutes pour tous. (je ne peux le faire manuellement pour chacun étant donné que j'ai un planning rempli sur plusieurs mois).

Comment puis-je faire ?


D'autre part, y aurait-il un moyen de changer la durée standard, pour que la durée soit automatiquement de 15 minutes (et non 1 heure) lors de la création d'un évènement??
(dommage qu'il n'y ait pas cette possibilité dans "préférences")

Pouvez vous m'aider ? Peut-être faut-il installer un script ou un plugin mais je n'en trouve pas !?

Merci d'avance !

popsong
 
Si ce sont des évènements qui se répètent, tu en sélectionnes un, tu le modifies. iCal te demandera s'il doit modifier cette occurence seulement ou toutes.
Pour la durée d'une heure standard, peut-être passes-tu par le menu créer. Tu peux aussi en créer en cliquant et glisser le curseur au moment voulu. Tu vois la durée tant que tu n'as pas relaché la souris.
 
- Ce ne sont pas des évènements qui se répètent, ils sont tous différents, et donc je ne peux pas faire ce que tu dis. Je cherche un moyen de modifier la durée d'évènements multiples. Je pense que ca passe par un script, plugin, ou action automator... ?

- Pour la durée standard, c'est pareil, ce n'est pas aussi facile. Ce que je voudrais c'est qu'en faisant creant un nouvel evenement la duree soit immediatement de 15 minutes (au lieu des 1h habituel). Je pense également que ce doit pouvoir se faire avec un script/plugin/ou action automator... ?
 
Tu peux aussi utiliser Automator.
 
Je veux bien utiliser Automator, mais plus précisément quel prossecus ? quelle action ?

Y a t-il un site où je peux télécharger le processus adapté à ce que je veux faire ?
 
Salut :)
Tu peux utiliser un script applescript comme ceci.

Tu lances le script et celui-ci lance iCal, tous les événements que tu ajoutes dans ton calendrier après le lancement du script , il va modifier la durée de l'événement à 15 minutes.

Bloc de code:
tell application "iCal"
	set MonCalendrier to calendar "Personnel" -- remplace "Personnel" par le nom de ton calendrier si le nom n'est pas "Personnel"
	set LesID to uid of events of MonCalendrier
end tell
repeat
	delay 6 --un délai de 6 secondes avant de faire une nouvelle recherche, modifie le temps si tu le veux plus rapide ou plus lent
	tell application "System Events" to if not (exists process "iCal") then return --Vous avez quitté iCal
	tell application "iCal" to set the_ids to uid of events of MonCalendrier
	set tCount to (count the_ids)
	repeat with i from 1 to tCount --cherche les nouveaux événements
		if item i of my the_ids is not in my LesID then tell application "iCal" to tell event i of MonCalendrier to set end date to start date + (15 * minutes)
	end repeat
	set LesID to the_ids
end repeat
 
Fantastique ! Ca marche !

Merci beaucoup !! Maintenant ca va etre plus facile pour moi...

Par curiosité, comment faire pour créer ce genre de script ?

Y aurait-il une possibilité de faire la meme chose pour modifier la duree de plusieurs elements en meme temps ??
 
popsong a dit:
Par curiosité, comment faire pour créer ce genre de script ?
Pour apprendre l'applescript, tu commences par aller là.
http://www.iscript.fr/
http://trad.applescript.free.fr/accueil.html

Après chaque application scriptable à son dictionnaire, tu ouvres le dictionnaire en glissant l'icône de l'application sur l'application "Editeur de script.app".

popsong a dit:
Y aurait-il une possibilité de faire la meme chose pour modifier la duree de plusieurs elements en meme temps ??

Oui c'est possible, ça prend quelques choses en commun, comme une date, un texte dans la description, un lieu, un URL, etc., sinon c'est pour tous les événements. :rateau:
 
Mac_Jac a dit:
Oui c'est possible, ça prend quelques choses en commun, comme une date, un texte dans la description, un lieu, un URL, etc., sinon c'est pour tous les événements. :rateau:

Aurais-tu la gentillesse de m'écrire le script pour reduire la durée de tous les evenements à 15 minutes ?

Grand MERCI !!
 
popsong a dit:
Aurais-tu la gentillesse de m'écrire le script pour reduire la durée de tous les evenements à 15 minutes ?

Grand MERCI !!
Oui, pas de problème. :)

Pour un calendrier :
Bloc de code:
tell application "iCal" to tell calendar "Personnel" --remplace "Personnel" par le nom de ton calendrier si le nom n'est pas "Personnel"
	set {stdate, enddate} to {start date, end date} of the events
	set tCount to (count stdate)
	repeat with i from 1 to tCount
		if (my enddate's item i) - (my stdate's item i) is not 900 then tell (event i) to set end date to start date + 900
	end repeat
end tell

Pour tous les calendriers :
Bloc de code:
tell application "iCal"
	repeat with this_Cal in (get calendars whose writable is true)
		tell this_Cal
			set {stdate, enddate} to {start date, end date} of the events
			set tCount to (count stdate)
			repeat with i from 1 to tCount
				if (my enddate's item i) - (my stdate's item i) is not 900 then tell (event i) to set end date to start date + 900
			end repeat
		end tell
	end repeat
end tell
 
C'est GENIAL !! Merci mille fois !

Tes scripts m'on énormément aidé... je vais aller voir les sites que tu m'as conseillé pour essayer d'apprendre une peu le "language" et arriver moi-même à en faire... même si ca ne me semble pas très evident...

En tout cas, tu m'as fait gagner pas mal de temps !
 
Applescript est trop négligé
c'est à la fois fabuleux, simple ( comparé à d'autres facons de programmer) et parfois difficile!
Très souple et utilisant la "langue commune" et... pas toujours si évident.

Ceci dit il y a une 2 è facon de scripter; c'est de "faire l'action" et Applescript editor "traduit" en Applescript
Il y a beaucoup de sites sur Applescript et des banques de Applescripts pré-écrits (pour ton besoin j'avais cherché un sript existant , sans succès)
et les incontournables livres O ' Reilley un de des spécialistes.( il a des sites aussi)

plus d'infos
apprendre Applescript , macg

applescript for beginners
learning applescript page 1
 
pascalformac a dit:
Ceci dit il y a une 2 è facon de scripter; c'est de "faire l'action" et Applescript editor "traduit" en Applescript

C'est très intéressant, cela me permetrait de faire des scripts sans apprendre tout le language...

Comment ca marche ? il faut un logiciel particulier qui traduit les actions en scripts ?
 
C'est exactement ca , en théorie.
En pratique ca réclame un peu d'apprentissage

tu n'as besoin de RIEN, c'est inclus dans Mac !!!
( depuis longtemps)
tout est déjà dans Applescript editor de ton OS
( ou via Automator si Tigré; Automator étant aussi une interface Applescript)

voir l'Aide Applescript ou les sites d'initiation

le "principe" est simple
Une fois l'éditeur réglé pour cette option
Applescript "suit ce que tu fais" et écrit le script pour toi.
En pratique ca réclame un peu d'entrainement pour bien faire

tout se trouve dans ton dossier...Applescript ( dans Appli)