IPB

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Extraire les entrées d'un calendrier
Options
Bionicglou
posté 9 Feb 2018, 18:54
Message #1


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 6 Sep 2012
Lieu : Le Burgaud
Membre no 178 699



Bonjour, je souhaite extraire les entrées d'un calendrier sous forme de liste, quelqu'un à t-il une idée de la marche à suivre? Je m'explique, je dispose d'un calendrier partagé (bien rempli) qui sert à planifier les repas d'une famille. Chaque jour le menu du soir est renseigné afin que le premier disponible puisse faire le repas sans se demander ce qu'on mange. J'ai besoin d'extraire les menus pour créer une liste de plats et de trier celle-ci. J'ai exporté le dit calendrier à partir de Calendrier (c'était plus facile d'éviter les répétitions lorsqu'il s'appelait iCal !) en un fichier .ics puis ouvert celui-ci dans TextEdit le fichier est formaté et je n'ai besoin que des lignes "SUMMARY:". Comment "trier" le texte pour ne récupérer que ces entrées là? Je pense que c'est possible avec un script ou bien automator, je ne suis pas manchot mais je ne suis pas à l'aise avec le code et le tri à la main serait vraiment fastidieux! Une recherche de texte me donne 788 entrées... Comment les exporter toutes et enlever les doublons? Merci par avance de votre aide

Ce message a été modifié par Bionicglou - 9 Feb 2018, 19:15.


--------------------
iMac 27" (i7 quad core, 8Go ram, Late 2009) - iPad 2 - iPhone 4 - MacBook (core 2, 2Go ram) - Mac Mini serveur (core 2, 2 Go - Promise DS4600
Go to the top of the page
 
+Quote Post
Bionicglou
posté 9 Feb 2018, 19:45
Message #2


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 6 Sep 2012
Lieu : Le Burgaud
Membre no 178 699



Après un passage par numbers j'ai réussi à filtrer mes entrées "SUMMARY:" mais comment supprimer ce "tag", comment supprimer les lignes en double?


--------------------
iMac 27" (i7 quad core, 8Go ram, Late 2009) - iPad 2 - iPhone 4 - MacBook (core 2, 2Go ram) - Mac Mini serveur (core 2, 2 Go - Promise DS4600
Go to the top of the page
 
+Quote Post
baron
posté 10 Feb 2018, 04:43
Message #3


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 315
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Le passage par un tableur plutôt que TextEdit est une bonne idée. wink.gif

Pour SUMMARY, tu peux utiliser une fonction qui dit de ne prendre en compte que ce qui se trouve à droite du x-ème caractère. Vu l'heure, je ne vais pas rechercher de suite quelle est la fonction, mais je ne serais pas étonné que ce soit DROITE…? Ce doit être dans la catégorie Fonctions Texte…

Pour les lignes en double, pas trop d'idée dans l'instant…


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post
Bionicglou
posté 10 Feb 2018, 10:44
Message #4


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 6 Sep 2012
Lieu : Le Burgaud
Membre no 178 699



Merci baron pour ta réponse, je vais essayer de trouver la fonction auprès de notre "faux" ami Google car je n'ai pas la moindre idée de comment rédiger tout ça...

Ce message a été modifié par Bionicglou - 10 Feb 2018, 10:46.


--------------------
iMac 27" (i7 quad core, 8Go ram, Late 2009) - iPad 2 - iPhone 4 - MacBook (core 2, 2Go ram) - Mac Mini serveur (core 2, 2 Go - Promise DS4600
Go to the top of the page
 
+Quote Post
Bionicglou
posté 10 Feb 2018, 14:35
Message #5


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 6 Sep 2012
Lieu : Le Burgaud
Membre no 178 699



L'aide de Numbers est bien pourvue, mais je n'arrive pas à la comprendre...
Toutes les 618 lignes de mon tableau commencent par "SUMMARY:" et le texte que je souhaite conserver mais dont la longueur varie selon le champ, hors l'aide explique: DROITE(chaine source; longueur-chaîne) j'ai fait beaucoup d'essais mais je n'obtiens que des erreurs de syntaxe ou des résultats partiels... Comment précisément obtenir dans la colonne B le texte de la colonne A sans "SUMMARY:"?


Ce message a été modifié par Bionicglou - 10 Feb 2018, 14:36.


--------------------
iMac 27" (i7 quad core, 8Go ram, Late 2009) - iPad 2 - iPhone 4 - MacBook (core 2, 2Go ram) - Mac Mini serveur (core 2, 2 Go - Promise DS4600
Go to the top of the page
 
+Quote Post
Zeltron54
posté 10 Feb 2018, 15:11
Message #6


Adepte de Macbidouille
*

Groupe : Membres
Messages : 171
Inscrit : 15 Mar 2008
Lieu : Lorraine
Membre no 110 156



bonjour,

La formule que tu cherches doit-être:

=DROITE($A2;NBCAR($A2)−8)

formule pour la cellule B2 bien sur.

Ce message a été modifié par Zeltron54 - 10 Feb 2018, 15:16.


--------------------
Imac 27 I7 Fusion drive fin 2013 Ram 8Go Mac OS X (10.14.6)
MacBook Pro 15 pouces mi-2012 8Go Ram Mac OS X (10.14.6)
Imac 24 M3 2023 Ram 24Go macOS Sonoma 14.3
Go to the top of the page
 
+Quote Post
Bionicglou
posté 10 Feb 2018, 15:59
Message #7


Nouveau Membre


Groupe : Membres
Messages : 10
Inscrit : 6 Sep 2012
Lieu : Le Burgaud
Membre no 178 699



Merci Zeltron54 c'est exactement ça! Je vais essayer maintenant de la comprendre!


--------------------
iMac 27" (i7 quad core, 8Go ram, Late 2009) - iPad 2 - iPhone 4 - MacBook (core 2, 2Go ram) - Mac Mini serveur (core 2, 2 Go - Promise DS4600
Go to the top of the page
 
+Quote Post
baron
posté 12 Feb 2018, 04:01
Message #8


Macbidouilleur d'Or !
*****

Groupe : Modérateurs
Messages : 19 315
Inscrit : 22 Jul 2004
Lieu : Louvain-la-Neuve (Gaule Gelbique)
Membre no 21 291



Citation (Bionicglou @ 10 Feb 2018, 15:59) *
Citation (Zeltron54 @ 10 Feb 2018, 15:11) *
=DROITE($A2;NBCAR($A2)−8)

formule pour la cellule B2 bien sur.
Merci Zeltron54 c'est exactement ça! Je vais essayer maintenant de la comprendre!

Dans ce que j'indiquais de mémoire plus haut, je me trompais un peu… 
Citation
Pour SUMMARY, tu peux utiliser une fonction qui dit de ne prendre en compte que ce qui se trouve à droite du x-ème caractère.
Ce n'est pas ce qui est à droite du x-ème caractère qui sera pris en compte mais bien les x caractères en partant de la droite. sleep.gif

Alors, je vais essayer de détailler un peu mieux son fonctionnement… wink.gif

+++++++

Comme l'aide l'indique, la fonction DROITE a une syntaxe ainsi :
    DROITE(chaine source; longueur-chaîne)

Imaginons une cellule A2 qui contient la chaîne de caractères suivante :
    SUMMARY:abcdef[…]vwxyz
La chaine source dans notre cas sera la cellule A2. (Elle contient les caractères qu'on veut extraire.)

Si on définit simplement la longueur de la chaîne qu'on veut extraire comme valant 4,
    DROITE(A2; 4)
on aura comme résultat de la fonction DROITE les quatre derniers caractères de la chaîne, en partant par la droite — je les mets en gras :
    SUMMARY:abcdef[…]vwxyz

Et si on avait pris la fonction GAUCHE,
GAUCHE(A2; 4)
on aurait eu les quatre premiers caractères, en partant cette fois de la gauche :
    SUMMARY:abcdef[…]vwxyz

OK ?

+++++++

Sauf que, dans ton cas, on a à gauche une partie fixe SUMMARY: et tu veux récupérer seulement ce qui se trouve après mais qui est de longueur variable.

Dès lors, on utilise une deuxième fonction qui va compter combien il y a de caractères au total dans la chaîne source :
    NBCAR(A2)
Ce qui retourne dans mon exemple :
    34 (en fait, les huit caractères de SUMMARY: plus les 26 de l'alphabet),
dont on va soustraire le nombre de caractères que représente l'expression fixe SUMMARY: ce qui nous donnera la longueur de la chaîne de caractères qui nous intéresse :
    NBCAR(A2)−8.

Ne reste plus qu'à imbriquer les deux fonctions, pour avoir :
    =DROITE(A2;NBCAR(A2)−8)
smile.gif

+++++++

R/ Tu remarqueras que, par rapport à mon exemple, la formule de Zeltron54 contient en plus le signe $ devant le A de A2. C'est tout à fait facultatif : ceci permet simplement — même si on copie ou déplace la formule — de « bloquer » la référence à la colonne, en l'occurrence A, tout en permettant qu'elle s'adapte à chaque ligne.

En copiant la formule de B2 vers B3, la formule deviendra :
=DROITE(A3;NBCAR(A3)−8). Le numéro de ligne s'est adapté.

Si on copiait plutôt vers la cellule N2 la même formule =DROITE(A2;NBCAR(A2)−8), elle deviendrait =DROITE(M2;NBCAR(M2)−8) — considérant comme chaine source la cellule à côté de la cellule N2, c.-à-d. M2 — alors que la formule =DROITE($A2;NBCAR($A2)−8) copiée dans la même cellule N2 renverrait toujours à la colonne A.

— Je n'insiste pas, supposant que tu connais cette différence entre référence absolue ou relative à des lignes ou colonnes.


--------------------
MacBook Pro 14’’ 2021, M1 Pro, 16 Go/1 To – macOS  12.6 “Monterey”  MacBook Pro 15’’ mi-2010 Core i5 2,53 GHz, 8 Go/SSD Samsung 860EVO 1 To – Mac OSX 10.6.8  Power Macintosh G3 beige de bureau, rev.1 @ 233MHz, 288 Mo/4Go – MacOS 9.1 — + carte PCI IDE/ATA Tempo 66 Acard 6260 avec HD interne Maxtor 80 Go + graveur interne CDRW/DVD LG GCC-4520B + tablette A4 Wacom UD-0608-A + LaCie ElectronBlueIV 19" + HP ScanJet 6100C   B-Box 3 + HP LaserJet 4000 N  
La recherche dans MacBidouille vous paraît obscure ? J'ai rédigé une proposition de FAQ. Le moteur logiciel a un peu changé depuis mais ça peut aider quand même.
Les corsaires mettent en berne…
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 29th March 2024 - 14:16