Passer de majuscules en minuscules sur Pages

Hlebon

Membre confirmé
5 Mars 2010
26
0
36
Bonjour,

Je suis sous ML et j'utilise pages plus que tous les jours.

Je cherche un moyen pour transformer un texte en majuscules en minuscules.

Après une recherche sur le forum je n'ai trouvé que WordService de Devon mais il ne fonctionne pas chez moi (Dossier Services dans la bibliothèque et redémarrage mais ...rien)
Pages lui ne propose que minuscules vers majuscules.

Du coup si vous aviez une idée ça m'arrangerait grandement !!

Cordialement,
 
Bonjour,

Un copier coller dans texedit, le transformer dans textedit (Edition-->transformation)
puis copier coller en sans inverse.
 
Pages possède une aide avec une recherche qui t'indique même où se trouve la fonction :
Sélection du texte, puis Format/Police/Majuscule/Tout en majuscules
 
Merci Zeltron c'est la réponse à ma question, même si je regrette qu'il n'y ait pas d'intégration directe dans Pages. En tout cas merci beaucoup.

Pour Larme, la fonction que vous proposez ne permet que de passer en majuscule et non pas de passer en minuscules ce qui est l'objet de ma requête. (Du coup si je puis me permettre le coté un peu hautain du style "y a une fonction recherche abruti" était de trop).
 
Bonjour, une solution est envisageable mais elle implique l'utilisation d'un script AppleScript. Rien de bien sorcier, à vrai dire, mais encore faut-il que cela t'intéresse.
Le principe est le suivant : il faut ouvrir un logiciel se trouvant dans ton ordinateur nommé Éditeur AppleScript, cocher une case des préférences du logiciel (cela installe un menu Script dans la barre des menus), copier dans le logiciel une suite de lignes de code (le script), enregistrer le script dans un certain dossier du dossier Bibliothèque, en le nommant par exemple « Majuscules vers minuscules ».

Dans le logiciel Pages, il suffira de sélectionner du texte (la sélection par morceaux est admise), puis dans le menu Script, sélectionner le nom du script voulu (« Majuscules vers minuscules »). Très rapidement (selon la longueur du texte), les majuscules du texte sélectionné seront transformés en minuscules, en conservant leurs attributs (gras, italique, couleur).

Merci donc de dire si tu souhaites la solution ; si oui, je rédigerais le script et les détails de son installation.
 
(Du coup si je puis me permettre le coté un peu hautain du style "y a une fonction recherche abruti" était de trop).

Larme est un membre éminent de ce forum, qui partage son savoir avec chacun. En aucun cas je ne lis dans sa réponse ce que vous lui prêtez.
 
Au temps pour moi, j'avais compris que tu voulais passer de minuscules à majuscules, chose qui est plus courante.

Maintenant, ce n'était pas une réponse hautaine de ma part, c'était une indication sur une manière de rechercher de l'aide en se basant sur la documentation de l'application. Dans mon erreur de compréhension, la solution étant donné par cette aide, je voulais t'indiquer une manière directe d'avoir ta réponse sans avoir à passer sur le forum et à attendre que quelqu'un réponde et te donnes une solution (ce qui peut parfois être long, quand on cherche un truc tout bête et qu'on est relativement pressé).
 
Pour en revenir à WordService, qui est quand même un outil indispensable, il faut le mettre dans ~/Bibliothèque/Services.

Pour accéder à ce dossier:
  1. Dans le menu de Finder, cliquer sur Aller. Un sous-menu apparaît.
  2. Maintenir la touche Alt appuyée. "Blbliothèque" apparaît dans le sous-menu.
  3. Cliquer sur "Bibliothèque" pour ouvrir le dossier.
  4. Double-cliquer sur "Services".
Et pour activer/désactiver des services:
  1. Aller dans  > Préférences Système > Clavier.
  2. Cliquer sur l'onglet "Raccourcis clavier".
 
re-bonjour à tous.

Merci pour toutes vos réponses.
Mea Culpa pour Larme et merci beaucoup d'avoir pris le temps de répondre.

Quark67 merci pour cette proposition, il s'avère que grace à Otgl j'ai compris comment activer les services.

Cela répond donc à ma question et ça vous évitera de perdre du temps à élaborer un script.

Après si vous vous ennuyez ce w-e...n'hésitez pas à le poster je l'installerais (car je préfère avoir l'option dans la barre du haut).
 
Bonsoir, l'écriture du script a pris plus de temps que prévu. En effet, une première version s'est avérée trop lente (elle utilisait le mot clé AppleScript « offset » pour chercher un caractère dans une chaîne de caractère) ; ma version est encore lente sur de longs textes, mais quand-même bien plus rapide que la première version. Il serait sans doute possible d'encore accélérer le traitement, en traitant des chaînes de caractère bruts. J'ai toutefois fait le choix de traiter le texte dans Pages en conservant leurs attributs de polices, couleur, formatage. Cela ralentit le traitement, mais correspond sans doute plus à ce qui est recherché.

Venons-en à quelques prérequis logiciels avant d'installer le script sur l'ordinateur.
Dans les Préférences Système, cliquer sur la rubrique Accessibilité, et cocher au bas la case « Activer l'accès pour les périphériques d'aide ». En fait, cela permettra à AppleScript de simuler l'appui sur une combinaison de touches qui désélectionnera la sélection de texte sur laquelle on souhaite transformer les majuscules en minuscules. Il ne serait pas indispensable que le script désélectionne la sélection, mais c'est mieux esthétiquement (pour une raison dont j'ignore la cause, pour chaque caractère remplacé dans la sélection, la fin de la sélection est diminuée d'un caractère, ce qui donne l'impression que la sélection n'est pas complète. Or, une fois que le script a enregistré la sélection, ce qui est fait au début avant le remplacement des caractères, il n'est plus nécessaire que la sélection soit affichée).

Il s'agit maintenant d'activer le menu Script dans la barre des menus. Pour cela, aller dans /Applications/Utilitaires et lancer le logiciel « Éditeur AppleScript ». Aller dans le menu « Éditeur AppleScript » du logiciel et choisir « Préférences... ». Dans la rubrique « Général » des préférences, cocher au bas la case « Afficher le menu des scripts dans la barre des menus ». La case « Afficher les scripts de l'ordinateur » peut être laissée décochée, elle ne nous servira pas ici.

Une fois ceci fait, une icône supplémentaire (icône Script) apparait sur la partie droite de la barre des menus, en forme de S stylisé sous forme de parchemin.

Il reste encore une petite étape à réaliser. Ouvrez Pages, puis cliquez sur l'icône Script dans la barre des menus, et choisissez « Ouvrir le dossier Scripts > Ouvrir le dossier Scripts Pages ». Cela crée un dossier Pages dédié aux scripts accessibles depuis l'application Pages, et ouvre une fenêtre du Finder affichant un dossier Pages contenu dans un dossier Applications, contenu dans un dossier Scripts, contenu dans le dossier Bibliothèque de l'utilisateur (depuis Lion, ce dossier est par défaut masqué à l'utilisateur).

Il s'agira d'enregistrer le script qui va suivre dans ce dossier Pages de la Bibliothèque de l'utilisateur.

On retourne dans l'Éditeur AppleScript, et si une fenêtre blanche n'est pas présente, on va dans Fichier > Nouveau pour en créer une.
Dans cette fenêtre blanche, on colle le code qui suit (dans la zone blanche du haut) :
Bloc de code:
-- Ce script traite la sélection d'une ou plusieurs zones de texte dans Pages en transformant les majuscules en minuscules


set maj to "ABCDEFGHIJKLMNOPQRSTUVWXYZÀÂÄÇÉÊÈËÎÏÔÖÙÛܟƌ" --(liste provenant en partie de : http://fr.wikipedia.org/wiki/Diacritiques_utilisés_en_français ; ä est utilisé pour Länder, ö pour angström)
set min to "abcdefghijklmnopqrstuvwxyzàâäçéêèëîïôöùûüÿæœ"

-- On définit des variables globales afin qu'elles soient accessibles dans les fonctions MVm et MajVersMin définies plus loin.
global lmaj, lmin, L0
global off

-- liste des valeurs Unicode des chaines amj et min
set {lmaj, lmin} to {id of maj, id of min}
set L0 to count of lmaj -- nombre d'éléments des 2 listes

tell application "Pages"
	set selec to selection -- on enregistre la sélection
end tell

-- On désélectionne la sélection 
tell application "System Events"
	tell application "Pages" to activate -- il faut que Pages soit au premier plan pour que l'appui simulé des touches lui soit adressé
	keystroke "a" using {command down, shift down}
end tell

if class of selec is list then -- si la sélection contient plusieurs blocs séparés (dans ce cas, selec est sous forme de liste)
	
	set cnt to count of selec -- le nombre d'élements discontinus sélectionnés
	
	repeat with i from 1 to cnt -- pour chaque élément discontinu de la sélection
		set select_i to item i of selec -- on nomme select_i l'élément i de la sélection
		MajVersMin(select_i) -- on appelle la fonction de traitement des majuscules qui agira sur l'élément i de la sélection
	end repeat
	
else -- sinon, si la sélection ne comporte qu'un élément (ou zéro)
	MajVersMin(selec)
end if
beep -- signal sonore
display dialog "Traitement terminé." buttons {"OK"} default button {"OK"}

on MajVersMin(laSelect)
	
	try -- On essaye. En cas d'erreur (une erreur survient si l'on ne sélectionne rien ou autre chose que du texte), la routine "on error" est exécutée
		
		tell application "Pages"
			set len to length of laSelect -- la longeur de la sélection (nombre de caractères)
			set off to character offset of laSelect -- le numéro de position du premier caractère de la selection
			set str to contents of laSelect -- la chaîne de caractères (string en anglais) sélectionée
		end tell
		
		repeat with j from 1 to len -- pour tous les caractères de la chaîne
			set caract to character j of str -- le caractère particulier étudié
			set cod to id of caract
			MVm(cod, j)
		end repeat
		
	on error message number num --en cas d'erreur (sélection vide, sélection autre que texte)
		--on ne fait rien (il n'y a pas de données à traiter)
	end try
	
end MajVersMin

on MVm(nbre, jj)
	if (nbre < 65) or (nbre > 90 and nbre < 192) then --("A" vaut 65 et "Z" vaut 90)
		return
	end if
	
	repeat with k from 1 to L0
		if (item k of lmaj) is equal to nbre then
			set c to character id (item k of lmin)
			tell application "Pages"
				--on ne peut pas utiliser l'expression "character id" à l'intérieur du bloc « tell app "Pages" » car « id » et « character » sont des mots-clés du dictionnaire AppleScript de Pages.app ; c'est pourquoi on l'a mis en-dehors.  
				set character (off + jj - 1) of body text of document 1 to c
			end tell
			exit repeat
		end if
	end repeat
	return
end MVm

Pour vérifier que le code est correct, l'appui sur le bouton « Compiler » va mettre le code syntaxiquement en couleurs. Normalement, il ne devrait pas y avoir de message d'erreur.
Il reste à enregistrer le script. Ceci se fait, non pas avec le bouton « Enregistrer » de l'Éditeur AppleScript (ce bouton sert en fait à enregistrer dans un script certaines actions réalisées dans l'interface graphique, ce qui ne nous est d'aucune utilité ici), mais avec le menu « Fichier > Enregistrer... ». Une fenêtre d'enregistrement apparait. Pour le nom, j'ai choisi « MAJUS vers minus », et pour l'extension, je garde le choix par défaut .scpt qui correspond au format de fichier « Script » affiché dans le menu plus bas. Si le dossier (par défaut masqué depuis Lion) Bibliothèque de l'utilisateur n'a pas été placé préalablement dans les favoris de la barre latérale du Finder, le mieux est d'enregistrer sur script sur le Bureau, puis de le déplacer avec le Finder à l'emplacement suivant : ~/Bibliothèque/Scripts/Applications/Pages (il s'agit de l'emplacement obtenu précédemment avec la commande « Ouvrir le dossier Scripts > Ouvrir le dossier Scripts Pages » du menu Script, lorsqu'on est dans l'application Pages).

Une fois le script placé dans le dossier mentionné plus haut, il suffira dans un document Pages de sélectionner une ou plusieurs parties de texte, puis dans le menu Script de choisir « MAJUS vers minus » si l'on a nommé ainsi le script.

À la fin du traitement, un bip retentit, et un message s'affiche.

Voilà, j'espère que ce script te sera utile :).