Re: [fr-users] Calc macro : écrire des caractères coréens dans un fichier
Bonjour, Le 29/08/2018 à 23:59, Cédric Giraud a écrit : La macro parse les lignes et les écrit à la suite dans un fichier .json propre à chaque langue en créant la bonne indentation et le bon formatage du langage. le problème d'encodage vient de là : open Fichier for output as #1 [...] print #1, Resultat close #1 Vous utilisez les primitives standard du LibO Basic pour écrire dans le fichier. De fait, vous n'avez pas accès à la méthode d'encodage des caractères. Pour avoir la pleine maîtrise de cet aspect, je vous conseille d'utiliser l'API relative aux flux. Dans ce cadre, vous ferez appel à deux services : -- com.sun.star.ucb.SimpleFileAccess qui fournit l'accès au fichier -- com.sun.star.io.TextOutputStream qui permet l'accès en écriture à un fichier texte (comme son nom l'indique) Ce dernier service fournit une méthode setEncoding() qui vous permet de choisir l'encodage voulu. Les valeurs possibles figurent dans la page web https://www.iana.org/assignments/character-sets/character-sets.xhtml (colonne Name) -> Sachez cependant que UTF-8 est l'encodage par défaut proposé par TextOutputStream. Par exemple, pour écrire un fichier texte encodé en UTF-8 via l'API flux en Basic, vous auriez un code comme celui-ci : 8< Dim oSFA As Object Dim oOutText As Object Dim FichierURL As String oSFA = createUNOService("com.sun.star.ucb.SimpleFileAccess") FichierURL = ConvertToURL("C:\chemin\vers\MonFichier.txt") oOutText = createUNOService("com.sun.star.io.TextOutputStream") oOutText.setOutputStream(oSFA.openFileWrite(FichierURL)) 'écrire (les délimiteurs de ligne doivent être spécifiés) '[ici CRLF (Windows)] oOutText.WriteString("Hello World" & Chr(13) & Chr(10)) oOutText.WriteString("Ligne 2" & Chr(13) & Chr(10)) 'vider les tampons et fermer oOutText.flush oOutText.closeOutput() --- >8 Bien cordialement, -- Jean-Francois Nifenecker, Bordeaux -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] Calc macro : écrire des caractères coréens dans un fichier
Je ne vois pas mon message où j'avais posté le code de la macro, donc je recommence en utilisant la boite mail cette fois (je comprends rien à ce système de mélange forum/mailing list, première fois que je vois ça désolé). Comme je le disais précédemment, le fichier JSON créé par la macro est apparemment ANSI, je ne sais pas lui dire de faire de l'UTF-8. Quand je crée au préalable un fichier en UTF-8, la macro l'écrase pour en refaire un en ANSI. Convertir le fichier en UTF-8 après coup n'enlève pas les "?". J'ai essayé plusieurs éditeurs de texte et plusieurs fontes. Le copier/coller fait un peu buguer l'indentation. Dans mon fichier Calc, de la colonne A à D, ce sont les balises et marques pour le formatage du langage JSON. De la colonne E à J ce sont les langues. La macro parse les lignes et les écrit à la suite dans un fichier .json propre à chaque langue en créant la bonne indentation et le bon formatage du langage. REM * BASIC * Sub Main Dim oFeuille as object, Cellule as object Dim Resultat as string oFeuille = ThisComponent.Sheets.getByName("quiz") Nblang=6 for Lang=0 to (Nblang-1) if Lang=0 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16) & "en.json" if Lang=1 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16) & "fr.json" if Lang=2 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16) & "de.json" if Lang=3 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16) & "es.json" if Lang=4 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16) & "it.json" if Lang=5 then Fichier= Left(ThisComponent.URL , Len(ThisComponent.URL)-16) & "kr.json" open Fichier for output as #1 for l=1 to 350 ' lignes (parse l'intégralité du document) Resultat="" for c=0 to 4 Cellule = oFeuille.getCellByPosition(c,l) CelluleLang = oFeuille.getCellByPosition(c+Lang,l) CelluleLangSuivante = oFeuille.getCellByPosition(c+Lang,l+1) if c=0 and len(Cellule.String)>0 then Resultat = Cellule.String goto quiznext endif if c<4 and len(Cellule.String)>1 then Resultat = Resultat & Cellule.String endif if c=4 and len(CelluleLang.String)>1 and len(CelluleLangSuivante.String)>1 then Resultat = Resultat & " """ & CelluleLang.String & """," if c=4 and l<>54 and len(CelluleLang.String)>1 and len(CelluleLangSuivante.String)=0 then Resultat = Resultat & " """ & CelluleLang.String & if c=4 and l=54 then Resultat = Resultat & " """ & CelluleLang.String & """," if len(Cellule.String)=0 then Resultat = Resultat & "" quiznext: next c if len(Resultat)>1 then print #1, Resultat endif next l close #1 next Lang Le mer. 29 août 2018 à 23:38, Cédric Giraud a écrit : > Ah, au temps pour moi, je cliquais sur "reply" depuis le forum, je croyais > que tout le monde le voyais, le site me disant que le mail était envoyé à > toute la liste. > > Le mer. 29 août 2018 à 19:04, Landron Gérard a > écrit : > >> Le 29/08/2018 à 16:10, demande_aide...@libreoffice.org a écrit : >> > Bonjour >> > >> Si vous répondez, merci de penser à utiliser la fonction "répondre à >> tous" de votre logiciel de courrier électronique de façon que la liste >> reçoive une copie de votre réponse. >> >> >> > >> > Email:: cmapoubellem...@gmail.com >> > Sujet:: Calc macro : écrire des caractères coréens dans un fichier >> > OS:: Windows 10 >> > Version:: 6.0.x >> > Question:: Bonjour, >> > J'utilise LibreOffice Calc pour gérer des traductions, ainsi qu'une >> macro qui génère des fichiers .json (un par langue, dont le coréen, seule >> langue avec alphabet non latin du lot). >> > >> > Calc m'affiche bien les caractères coréens, mais dans le fichier .json >> généré, je n'ai que des "?". Comment régler le problème ? >> Bonsoir, >> >> quel est l'encodage du fichier json ? c'est la macro qui le défini ou le >> système ? >> >> > Je n'ai pas d'autre problème que ça. >> > >> > Merci, >> Gérard >> > -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] Calc macro : écrire des caractères coréens dans un fichier
Bonjour, Le 29/08/2018 à 15:10, demande_aide...@libreoffice.org a écrit : [...] Sujet:: Calc macro : écrire des caractères coréens dans un fichier OS:: Windows 10 Version:: 6.0.x Question:: Bonjour, J'utilise LibreOffice Calc pour gérer des traductions, ainsi qu'une macro qui génère des fichiers .json (un par langue, dont le coréen, seule langue avec alphabet non latin du lot). Calc m'affiche bien les caractères coréens, mais dans le fichier .json généré, je n'ai que des "?". Comment régler le problème ? Un problème d'encodage peut-être. Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste de discussion reçoive une copie de votre réponse. ATTENTION : je ne réponds pas aux réponses qui sont envoyées seulement à moi. Nous sommes sur une liste d'entraide, pas un service après-vente. Bonne journée JBF -- Seuls des formats ouverts peuvent assurer la pérennité de vos documents. Disclaimer: my Internet Provider being located in France, each of our exchanges over Internet will be scanned by French spying services. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] Calc macro : écrire des caractères coréens dans un fichier
Bonjour, comme dit par Gérard, c'est une question de codage, ton fichier json devrait normalement par défaut codé en UTF-8. qu'utilises-tu pour lire le fichier ? Notepad++ devrait pour lire ça ;) Yves Le mer. 29 août 2018 à 19:04, Landron Gérard a écrit : > Le 29/08/2018 à 16:10, demande_aide...@libreoffice.org a écrit : > > Bonjour > > > Si vous répondez, merci de penser à utiliser la fonction "répondre à > tous" de votre logiciel de courrier électronique de façon que la liste > reçoive une copie de votre réponse. > > > > > > Email:: cmapoubellem...@gmail.com > > Sujet:: Calc macro : écrire des caractères coréens dans un fichier > > OS:: Windows 10 > > Version:: 6.0.x > > Question:: Bonjour, > > J'utilise LibreOffice Calc pour gérer des traductions, ainsi qu'une > macro qui génère des fichiers .json (un par langue, dont le coréen, seule > langue avec alphabet non latin du lot). > > > > Calc m'affiche bien les caractères coréens, mais dans le fichier .json > généré, je n'ai que des "?". Comment régler le problème ? > Bonsoir, > > quel est l'encodage du fichier json ? c'est la macro qui le défini ou le > système ? > > > Je n'ai pas d'autre problème que ça. > > > > Merci, > Gérard > > -- > Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous > désinscrire > Les archives de la liste sont disponibles à > https://listarchives.libreoffice.org/fr/users/ > Privacy Policy: https://www.documentfoundation.org/privacy > -- web site : http://www.molenbaix.com -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] Calc macro : écrire des caractères coréens dans un fichier
Le 29/08/2018 à 16:10, demande_aide...@libreoffice.org a écrit : > Bonjour > Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse. > > Email:: cmapoubellem...@gmail.com > Sujet:: Calc macro : écrire des caractères coréens dans un fichier > OS:: Windows 10 > Version:: 6.0.x > Question:: Bonjour, > J'utilise LibreOffice Calc pour gérer des traductions, ainsi qu'une macro qui > génère des fichiers .json (un par langue, dont le coréen, seule langue avec > alphabet non latin du lot). > > Calc m'affiche bien les caractères coréens, mais dans le fichier .json > généré, je n'ai que des "?". Comment régler le problème ? Bonsoir, quel est l'encodage du fichier json ? c'est la macro qui le défini ou le système ? > Je n'ai pas d'autre problème que ça. > > Merci, Gérard -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
[fr-users] Calc macro : écrire des caractères coréens dans un fichier
Bonjour Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/). Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse. Email:: cmapoubellem...@gmail.com Sujet:: Calc macro : écrire des caractères coréens dans un fichier OS:: Windows 10 Version:: 6.0.x Question:: Bonjour, J'utilise LibreOffice Calc pour gérer des traductions, ainsi qu'une macro qui génère des fichiers .json (un par langue, dont le coréen, seule langue avec alphabet non latin du lot). Calc m'affiche bien les caractères coréens, mais dans le fichier .json généré, je n'ai que des "?". Comment régler le problème ? Je n'ai pas d'autre problème que ça. Merci, -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: Re: RE: Re: [fr-users] Calc macro
Bonjour, Bingo Merci à toi et merci à tous ceux qui avaient planché sur le sujet Bonne journée Claude Pour une administration exemplaire, préservons l'environnement. N'imprimons que si nécessaire. Message original *Sujet: *[INTERNET] Re: RE: Re: [fr-users] Calc macro *De : *pierre-yves samyn *Pour : *users@fr.libreoffice.org *Date : *13/06/2018 10:46 Bonjour Vérifier que Outils> Options> Calc> Formule> Syntaxe> Calc A1 est bien sélectionnée. Le symptôme décrit laisse penser que le paramètre courant utilise la syntaxe excel. Cordialement Pierre-Yves -- Sent from: http://document-foundation-mail-archive.969070.n3.nabble.com/Users-f1744091.html -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: RE: Re: [fr-users] Calc macro
Bonjour Vérifier que Outils> Options> Calc> Formule> Syntaxe> Calc A1 est bien sélectionnée. Le symptôme décrit laisse penser que le paramètre courant utilise la syntaxe excel. Cordialement Pierre-Yves -- Sent from: http://document-foundation-mail-archive.969070.n3.nabble.com/Users-f1744091.html -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: RE: Re: [fr-users] Calc macro
Bonjour, S'agit il de la version de libreoffice de mimo ou de tdf ? Bonne soirée Le lun. 11 juin 2018 à 07:49, PREF31 Libreoffice < pref-open-off...@haute-garonne.gouv.fr> a écrit : > Bonjour, > > Cette macro plante aussi; Nous dirons donc que c'est ma version qui pose > problème. > > Merci à tous pour l'aide apportée. > > Claude > > Pour une administration exemplaire, préservons l'environnement. > N'imprimons que si nécessaire. > > Message original -------- > *Sujet: *[INTERNET] RE: Re: [fr-users] Calc macro > *De : *Michel Rudelle > *Pour : *'PREF31 Libreoffice' > *Copie à : *"'libreoffice'" > *Date : *08/06/2018 17:29 > > Bonjour Claude, > > > > J'ai téléchargé la version 5.4.5.1 (Windows 32b), et testé cette > instruction > > particulièrement courante ! > > Aucune erreur, ça marche ... > > > > Peux-tu tester avec ma mini macro pour voir si tu as le même problème et > si > > j'ai bien testé ce qu'il faut: > > > https://framadrop.org/r/m7nqOaVeXR#jQjk4pZjtsU4knpCI3X+FmzUxpAD3Ahw6ocjX1BFH > > NE= > > > > Cordialement, > > > > > > Michel RUDELLE > > > >> -Message d'origine- > >> De : PREF31 Libreoffice [mailto:pref-open-off...@haute-garonne.gouv.fr] > >> Envoyé : jeudi 7 juin 2018 14:00 > >> À : yves dutrieux > >> Cc : libreoffice > >> Objet : Re: Re: [fr-users] Calc macro > >> > >> re-bonjour > >> > >> "feuilleencours" existe bien. > >> > >> Je peux essayer avec une version récente mais pas sur mon poste de > >> travail et de toute façon c'est avec la version qui est installée que je > >> dois trouver une solution. > >> > >> Comme évoqué dans mon premier mail pour le moment je récupère les > >> coordonnées de la plage en passant par la collection des plages nommées > >> et en faisant un getCellRangeByPosition qui fonctionne > >> > >> merci quand même > >> > >> Claude > >> > >> Pour une administration exemplaire, préservons l'environnement. > >> N'imprimons que si nécessaire. > >> > >> Message original > >> *Sujet: *[INTERNET] Re: [fr-users] Calc macro > >> *De : *yves dutrieux > >> *Pour : *PREF31 Libreoffice > >> *Copie à : *libreoffice > >> *Date : *07/06/2018 13:51 > >>> bonjour, > >>> > >>> j'aurais essayé avec une version + récente (dernière stable) - quitte > >>> à essayer avec une version portable si tu veux pas l'installer. > >>> et aussi vérifier si "feuilleencours" existe bien > >>> > >>> Yves > >>> > >>> Le 7 juin 2018 à 09:42, PREF31 Libreoffice > >>> >>> <mailto:pref-open-off...@haute-garonne.gouv.fr>> a écrit : > >>> > >>> Bonjour, > >>> > >>> Je viens de passer à la version 5.4.5.1. > >>> J'ai une macro avec l'instruction suivante qui fonctionnait depuis > >>> des mois (voire plusieurs années) > >>> cellule = FeuilleEnCours.getCellRangeByName("mois") > >>> Avec la nouvelle version, elle provoque un runtime exception > >>> > >>> J'ai testé la même instruction avec getcellrangebyposition et les > >>> coordonnées de la cellule nommée et cela fonctionne. > >>> > >>> La plage est un plage globale. Pour le moment, je triche en > >>> récupérant les coordonnées de la plage nommée dans la collections > >>> des plage nommées du document. > >>> > >>> Mais si quelqu'un avait une idée cela me permettrait de revenir à > >>> un code plus sobre. > >>> > >>> Merci par avance > >>> > >>> Claude > >>> > >>> > >>> Pour une administration exemplaire, préservons l'environnement. > >>> N'imprimons que si nécessaire. > >>> > >>> -- > >>> Envoyez un mail à users+unsubscr...@fr.libreoffice.org > >>> <mailto:users%2bunsubscr...@fr.libreoffice.org> pour vous > >> désinscrire > >>> Les archives de la liste sont disponibles à > >>> https://listarchives.libreoffice.org/fr/users/ > >>> <https://listarchives.libreoffice.org/fr/users/> > >>> Privacy Policy: https://www.documentfoundation.org/privacy > >>> <https://www.documentfoundation.org/privacy> > >>> > >>> > >>> > >>> > >>> -- > >>> web site : http://www.molenbaix.com > >> > >> > >> -- > >> Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous > >> désinscrire > >> Les archives de la liste sont disponibles à > >> https://listarchives.libreoffice.org/fr/users/ > >> Privacy Policy: https://www.documentfoundation.org/privacy > > > > -- > Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous > désinscrire > Les archives de la liste sont disponibles à > https://listarchives.libreoffice.org/fr/users/ > Privacy Policy: https://www.documentfoundation.org/privacy > > -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: RE: Re: [fr-users] Calc macro
Bonjour, Cette macro plante aussi; Nous dirons donc que c'est ma version qui pose problème. Merci à tous pour l'aide apportée. Claude Pour une administration exemplaire, préservons l'environnement. N'imprimons que si nécessaire. Message original *Sujet: *[INTERNET] RE: Re: [fr-users] Calc macro *De : *Michel Rudelle *Pour : *'PREF31 Libreoffice' *Copie à : *"'libreoffice'" *Date : *08/06/2018 17:29 Bonjour Claude, J'ai téléchargé la version 5.4.5.1 (Windows 32b), et testé cette instruction particulièrement courante ! Aucune erreur, ça marche ... Peux-tu tester avec ma mini macro pour voir si tu as le même problème et si j'ai bien testé ce qu'il faut: https://framadrop.org/r/m7nqOaVeXR#jQjk4pZjtsU4knpCI3X+FmzUxpAD3Ahw6ocjX1BFH NE= Cordialement, Michel RUDELLE -Message d'origine- De : PREF31 Libreoffice [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : jeudi 7 juin 2018 14:00 À : yves dutrieux Cc : libreoffice Objet : Re: Re: [fr-users] Calc macro re-bonjour "feuilleencours" existe bien. Je peux essayer avec une version récente mais pas sur mon poste de travail et de toute façon c'est avec la version qui est installée que je dois trouver une solution. Comme évoqué dans mon premier mail pour le moment je récupère les coordonnées de la plage en passant par la collection des plages nommées et en faisant un getCellRangeByPosition qui fonctionne merci quand même Claude Pour une administration exemplaire, préservons l'environnement. N'imprimons que si nécessaire. Message original *Sujet: *[INTERNET] Re: [fr-users] Calc macro *De : *yves dutrieux *Pour : *PREF31 Libreoffice *Copie à : *libreoffice *Date : *07/06/2018 13:51 bonjour, j'aurais essayé avec une version + récente (dernière stable) - quitte à essayer avec une version portable si tu veux pas l'installer. et aussi vérifier si "feuilleencours" existe bien Yves Le 7 juin 2018 à 09:42, PREF31 Libreoffice mailto:pref-open-off...@haute-garonne.gouv.fr>> a écrit : Bonjour, Je viens de passer à la version 5.4.5.1. J'ai une macro avec l'instruction suivante qui fonctionnait depuis des mois (voire plusieurs années) cellule = FeuilleEnCours.getCellRangeByName("mois") Avec la nouvelle version, elle provoque un runtime exception J'ai testé la même instruction avec getcellrangebyposition et les coordonnées de la cellule nommée et cela fonctionne. La plage est un plage globale. Pour le moment, je triche en récupérant les coordonnées de la plage nommée dans la collections des plage nommées du document. Mais si quelqu'un avait une idée cela me permettrait de revenir à un code plus sobre. Merci par avance Claude Pour une administration exemplaire, préservons l'environnement. N'imprimons que si nécessaire. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org <mailto:users%2bunsubscr...@fr.libreoffice.org> pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ <https://listarchives.libreoffice.org/fr/users/> Privacy Policy: https://www.documentfoundation.org/privacy <https://www.documentfoundation.org/privacy> -- web site : http://www.molenbaix.com -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
RE: Re: [fr-users] Calc macro
Bonjour Claude, J'ai téléchargé la version 5.4.5.1 (Windows 32b), et testé cette instruction particulièrement courante ! Aucune erreur, ça marche ... Peux-tu tester avec ma mini macro pour voir si tu as le même problème et si j'ai bien testé ce qu'il faut: https://framadrop.org/r/m7nqOaVeXR#jQjk4pZjtsU4knpCI3X+FmzUxpAD3Ahw6ocjX1BFH NE= Cordialement, Michel RUDELLE > -Message d'origine- > De : PREF31 Libreoffice [mailto:pref-open-off...@haute-garonne.gouv.fr] > Envoyé : jeudi 7 juin 2018 14:00 > À : yves dutrieux > Cc : libreoffice > Objet : Re: Re: [fr-users] Calc macro > > re-bonjour > > "feuilleencours" existe bien. > > Je peux essayer avec une version récente mais pas sur mon poste de > travail et de toute façon c'est avec la version qui est installée que je > dois trouver une solution. > > Comme évoqué dans mon premier mail pour le moment je récupère les > coordonnées de la plage en passant par la collection des plages nommées > et en faisant un getCellRangeByPosition qui fonctionne > > merci quand même > > Claude > > Pour une administration exemplaire, préservons l'environnement. > N'imprimons que si nécessaire. > > Message original > *Sujet: *[INTERNET] Re: [fr-users] Calc macro > *De : *yves dutrieux > *Pour : *PREF31 Libreoffice > *Copie à : *libreoffice > *Date : *07/06/2018 13:51 > > bonjour, > > > > j'aurais essayé avec une version + récente (dernière stable) - quitte > > à essayer avec une version portable si tu veux pas l'installer. > > et aussi vérifier si "feuilleencours" existe bien > > > > Yves > > > > Le 7 juin 2018 à 09:42, PREF31 Libreoffice > > > <mailto:pref-open-off...@haute-garonne.gouv.fr>> a écrit : > > > > Bonjour, > > > > Je viens de passer à la version 5.4.5.1. > > J'ai une macro avec l'instruction suivante qui fonctionnait depuis > > des mois (voire plusieurs années) > > cellule = FeuilleEnCours.getCellRangeByName("mois") > > Avec la nouvelle version, elle provoque un runtime exception > > > > J'ai testé la même instruction avec getcellrangebyposition et les > > coordonnées de la cellule nommée et cela fonctionne. > > > > La plage est un plage globale. Pour le moment, je triche en > > récupérant les coordonnées de la plage nommée dans la collections > > des plage nommées du document. > > > > Mais si quelqu'un avait une idée cela me permettrait de revenir à > > un code plus sobre. > > > > Merci par avance > > > > Claude > > > > > > Pour une administration exemplaire, préservons l'environnement. > > N'imprimons que si nécessaire. > > > > -- > > Envoyez un mail à users+unsubscr...@fr.libreoffice.org > > <mailto:users%2bunsubscr...@fr.libreoffice.org> pour vous > désinscrire > > Les archives de la liste sont disponibles à > > https://listarchives.libreoffice.org/fr/users/ > > <https://listarchives.libreoffice.org/fr/users/> > > Privacy Policy: https://www.documentfoundation.org/privacy > > <https://www.documentfoundation.org/privacy> > > > > > > > > > > -- > > web site : http://www.molenbaix.com > > > > -- > Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous > désinscrire > Les archives de la liste sont disponibles à > https://listarchives.libreoffice.org/fr/users/ > Privacy Policy: https://www.documentfoundation.org/privacy -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: Re: [fr-users] Calc macro
oui, mais si c'est un bug de ta version bien précise... on pourra rien faire :-/ Raison pour laquelle je demandais de tester avec une autre version... si doc pas confidentiel, envoie le moi à mon adresse perso, je ferais le test avec +sieurs versions ;) Yves Le 7 juin 2018 à 14:00, PREF31 Libreoffice < pref-open-off...@haute-garonne.gouv.fr> a écrit : > re-bonjour > > "feuilleencours" existe bien. > > Je peux essayer avec une version récente mais pas sur mon poste de travail > et de toute façon c'est avec la version qui est installée que je dois > trouver une solution. > > Comme évoqué dans mon premier mail pour le moment je récupère les > coordonnées de la plage en passant par la collection des plages nommées et > en faisant un getCellRangeByPosition qui fonctionne > > merci quand même > > Claude > > Pour une administration exemplaire, préservons l'environnement. > N'imprimons que si nécessaire. > > ---- Message original > *Sujet: *[INTERNET] Re: [fr-users] Calc macro > *De : *yves dutrieux > *Pour : *PREF31 Libreoffice > *Copie à : *libreoffice > *Date : *07/06/2018 13:51 > >> bonjour, >> >> j'aurais essayé avec une version + récente (dernière stable) - quitte à >> essayer avec une version portable si tu veux pas l'installer. >> et aussi vérifier si "feuilleencours" existe bien >> >> Yves >> >> Le 7 juin 2018 à 09:42, PREF31 Libreoffice > e.gouv.fr <mailto:pref-open-off...@haute-garonne.gouv.fr>> a écrit : >> >> Bonjour, >> >> Je viens de passer à la version 5.4.5.1. >> J'ai une macro avec l'instruction suivante qui fonctionnait depuis >> des mois (voire plusieurs années) >> cellule = FeuilleEnCours.getCellRangeByName("mois") >> Avec la nouvelle version, elle provoque un runtime exception >> >> J'ai testé la même instruction avec getcellrangebyposition et les >> coordonnées de la cellule nommée et cela fonctionne. >> >> La plage est un plage globale. Pour le moment, je triche en >> récupérant les coordonnées de la plage nommée dans la collections >> des plage nommées du document. >> >> Mais si quelqu'un avait une idée cela me permettrait de revenir à >> un code plus sobre. >> >> Merci par avance >> >> Claude >> >> >> Pour une administration exemplaire, préservons l'environnement. >> N'imprimons que si nécessaire. >> >> -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org >> <mailto:users%2bunsubscr...@fr.libreoffice.org> pour vous désinscrire >> Les archives de la liste sont disponibles à >> https://listarchives.libreoffice.org/fr/users/ >> <https://listarchives.libreoffice.org/fr/users/> >> Privacy Policy: https://www.documentfoundation.org/privacy >> <https://www.documentfoundation.org/privacy> >> >> >> >> >> -- >> web site : http://www.molenbaix.com >> > > > > -- > Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous > désinscrire > Les archives de la liste sont disponibles à https://listarchives.libreoffi > ce.org/fr/users/ > Privacy Policy: https://www.documentfoundation.org/privacy > -- web site : http://www.molenbaix.com -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: Re: [fr-users] Calc macro
re-bonjour "feuilleencours" existe bien. Je peux essayer avec une version récente mais pas sur mon poste de travail et de toute façon c'est avec la version qui est installée que je dois trouver une solution. Comme évoqué dans mon premier mail pour le moment je récupère les coordonnées de la plage en passant par la collection des plages nommées et en faisant un getCellRangeByPosition qui fonctionne merci quand même Claude Pour une administration exemplaire, préservons l'environnement. N'imprimons que si nécessaire. Message original *Sujet: *[INTERNET] Re: [fr-users] Calc macro *De : *yves dutrieux *Pour : *PREF31 Libreoffice *Copie à : *libreoffice *Date : *07/06/2018 13:51 bonjour, j'aurais essayé avec une version + récente (dernière stable) - quitte à essayer avec une version portable si tu veux pas l'installer. et aussi vérifier si "feuilleencours" existe bien Yves Le 7 juin 2018 à 09:42, PREF31 Libreoffice <mailto:pref-open-off...@haute-garonne.gouv.fr>> a écrit : Bonjour, Je viens de passer à la version 5.4.5.1. J'ai une macro avec l'instruction suivante qui fonctionnait depuis des mois (voire plusieurs années) cellule = FeuilleEnCours.getCellRangeByName("mois") Avec la nouvelle version, elle provoque un runtime exception J'ai testé la même instruction avec getcellrangebyposition et les coordonnées de la cellule nommée et cela fonctionne. La plage est un plage globale. Pour le moment, je triche en récupérant les coordonnées de la plage nommée dans la collections des plage nommées du document. Mais si quelqu'un avait une idée cela me permettrait de revenir à un code plus sobre. Merci par avance Claude Pour une administration exemplaire, préservons l'environnement. N'imprimons que si nécessaire. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org <mailto:users%2bunsubscr...@fr.libreoffice.org> pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ <https://listarchives.libreoffice.org/fr/users/> Privacy Policy: https://www.documentfoundation.org/privacy <https://www.documentfoundation.org/privacy> -- web site : http://www.molenbaix.com -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] Calc macro
bonjour, j'aurais essayé avec une version + récente (dernière stable) - quitte à essayer avec une version portable si tu veux pas l'installer. et aussi vérifier si "feuilleencours" existe bien Yves Le 7 juin 2018 à 09:42, PREF31 Libreoffice < pref-open-off...@haute-garonne.gouv.fr> a écrit : > Bonjour, > > Je viens de passer à la version 5.4.5.1. > J'ai une macro avec l'instruction suivante qui fonctionnait depuis des > mois (voire plusieurs années) > cellule = FeuilleEnCours.getCellRangeByName("mois") > Avec la nouvelle version, elle provoque un runtime exception > > J'ai testé la même instruction avec getcellrangebyposition et les > coordonnées de la cellule nommée et cela fonctionne. > > La plage est un plage globale. Pour le moment, je triche en récupérant les > coordonnées de la plage nommée dans la collections des plage nommées du > document. > > Mais si quelqu'un avait une idée cela me permettrait de revenir à un code > plus sobre. > > Merci par avance > > Claude > > > Pour une administration exemplaire, préservons l'environnement. > N'imprimons que si nécessaire. > > -- > Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous > désinscrire > Les archives de la liste sont disponibles à https://listarchives.libreoffi > ce.org/fr/users/ > Privacy Policy: https://www.documentfoundation.org/privacy > -- web site : http://www.molenbaix.com -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] Calc macro
Bonjour, 1. Que dit le message d'erreur ? 2. Bien entendu la plage "mois1" (lorsque i vaut 1) existe ? 3. Si vous écrivez ceci : NomPlage = "mois" & i cellule = FeuilleEnCours.getCellRangeByName(NomPlage) et que vous posez un témoin sur cette variable NomPlage, voyez-vous la valeur attendue ? 4. Avez-vous essayé de remplacer le transtypage implicite en transtypage explicite : cellule = FeuilleEnCours.getCellRangeByName("mois" & CStr(i)) D'une manière générale, je me méfie des transtypages implicites... Très cordialement, -- Jean-Francois Nifenecker, Bordeaux - Mail original - De: "PREF31 Libreoffice" À: "libreoffice" Envoyé: Jeudi 7 Juin 2018 09:42:19 Objet: [fr-users] Calc macro Bonjour, Je viens de passer à la version 5.4.5.1. J'ai une macro avec l'instruction suivante qui fonctionnait depuis des mois (voire plusieurs années) cellule = FeuilleEnCours.getCellRangeByName("mois") Avec la nouvelle version, elle provoque un runtime exception J'ai testé la même instruction avec getcellrangebyposition et les coordonnées de la cellule nommée et cela fonctionne. La plage est un plage globale. Pour le moment, je triche en récupérant les coordonnées de la plage nommée dans la collections des plage nommées du document. Mais si quelqu'un avait une idée cela me permettrait de revenir à un code plus sobre. Merci par avance Claude Pour une administration exemplaire, préservons l'environnement. N'imprimons que si nécessaire. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
[fr-users] Calc macro
Bonjour, Je viens de passer à la version 5.4.5.1. J'ai une macro avec l'instruction suivante qui fonctionnait depuis des mois (voire plusieurs années) cellule = FeuilleEnCours.getCellRangeByName("mois") Avec la nouvelle version, elle provoque un runtime exception J'ai testé la même instruction avec getcellrangebyposition et les coordonnées de la cellule nommée et cela fonctionne. La plage est un plage globale. Pour le moment, je triche en récupérant les coordonnées de la plage nommée dans la collections des plage nommées du document. Mais si quelqu'un avait une idée cela me permettrait de revenir à un code plus sobre. Merci par avance Claude Pour une administration exemplaire, préservons l'environnement. N'imprimons que si nécessaire. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Privacy Policy: https://www.documentfoundation.org/privacy
Re: [fr-users] Calc Macro
Bonjour, Le 26/11/2017 à 04:06, Joel Vernaudon a écrit : Mon problème n'est pas résolu car la fonction "enregister macro" n'apparait pas dans le menu de mon classeur Calc, lequel est affiché comme suit. Problème lié à ma version ? non, c'est une option qui doit être activée. Elle ne l'est pas par défaut. Menu Outils > Options > LibreOffice > Avancé cochez la case "Activer l'enregistreur de macros" (vous pouvez aussi cocher la case du dessus "Activer les fonctions expérimentales [...]" ; c'est sans rapport mais ça pourra aider un jour) A partir de ce moment-là, l'enregistreur devient disponible dans le menu Macros. Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse. Bien cordialement, -- Jean-Francois Nifenecker, Bordeaux -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc Macro
Bonjour, Le 26/11/2017 à 04:06, Joel Vernaudon a écrit : Merci, Il s'agit en effet de Calc et non d'Excel. Mon problème n'est pas résolu car la fonction "enregister macro" n'apparait pas dans le menu de mon classeur Calc, Pour accéder à l'enregistreur de macros il faut d'abord l'activer dans les options : menu Outils > Options > LibreOffice > Avancées Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste de discussion reçoive une copie de votre réponse. ATTENTION : je ne réponds pas aux réponses qui sont envoyées seulement à moi. Nous sommes sur une liste d'entraide, pas un service après-vente. Bonne journée JBF -- Seuls des formats ouverts peuvent assurer la pérennité de vos documents. Disclaimer: my Internet Provider being located in France, each of our exchanges over Internet will be scanned by French spying services. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc Macro
Merci, Il s'agit en effet de Calc et non d'Excel. Mon problème n'est pas résolu car la fonction "enregister macro" n'apparait pas dans le menu de mon classeur Calc, lequel est affiché comme suit. Problème lié à ma version ? Merci de m'aider Joël Vernaudon Le 14/11/2017 à 10:33, Jean-Francois Nifenecker a écrit : Bonsoir, Le 14/11/2017 à 19:16, demande_aide...@libreoffice.org a écrit : OS:: Windows 8 ou 8.1 Version:: 5.4.x Question:: Comment enregistrer une séquence d'actions sur un classeur excel pour l'automatiser dans une macro ? Comment mettre cette macro dans le bandeau des icone lorsque j'ouvre ce classeur de sorte à l'exécuter par simple clic ? Quand vous dites "Excel", est-ce que vous ne parlez pas de Calc, par hasard :) Vous aurez tous les détails sur l'enregistreur de macros ici : https://wiki.documentfoundation.org/images/8/85/CG3512FR-Macros.odt Pour ensuite ajouter un bouton à une barre d'outils : https://help.libreoffice.org/Common/Adding_Buttons_to_Toolbars/fr Pour lui affecter la macro créée précédemment : lors de la création du bouton, par "Ajouter une commande", allez tout en bas de la colonne de gauche (Catégories) sur "Macros LibreOffice" puis cherchez votre macro. Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse. Bien cordialement, -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc Macro
Bonsoir, Le 14/11/2017 à 19:16, demande_aide...@libreoffice.org a écrit : OS:: Windows 8 ou 8.1 Version:: 5.4.x Question:: Comment enregistrer une séquence d'actions sur un classeur excel pour l'automatiser dans une macro ? Comment mettre cette macro dans le bandeau des icone lorsque j'ouvre ce classeur de sorte à l'exécuter par simple clic ? Quand vous dites "Excel", est-ce que vous ne parlez pas de Calc, par hasard :) Vous aurez tous les détails sur l'enregistreur de macros ici : https://wiki.documentfoundation.org/images/8/85/CG3512FR-Macros.odt Pour ensuite ajouter un bouton à une barre d'outils : https://help.libreoffice.org/Common/Adding_Buttons_to_Toolbars/fr Pour lui affecter la macro créée précédemment : lors de la création du bouton, par "Ajouter une commande", allez tout en bas de la colonne de gauche (Catégories) sur "Macros LibreOffice" puis cherchez votre macro. Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse. Bien cordialement, -- Jean-Francois Nifenecker, Bordeaux -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc Macro
Le 14/11/2017 à 19:16, demande_aide...@libreoffice.org a écrit : Bonjour Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/). Sujet:: Calc Macro OS:: Windows 8 ou 8.1 Version:: 5.4.x Question:: Comment enregistrer une séquence d'actions sur un classeur excel pour l'automatiser dans une macro ? Comment mettre cette macro dans le bandeau des icone lorsque j'ouvre ce classeur de sorte à l'exécuter par simple clic ? Ceci est la liste d'entraide des utilisateurs de LibreOffice. Pour excel, voyez du côté de Microsoft. Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que la liste reçoive une copie de votre réponse. -- Ysabeau Services, s. m. pl. Mot usité dans cette formule à peu près invariable du typo en quête de travail: Monsieur, je viens vous offrir mes services pour la casse. Dictionnaire de l'argot des typographes - Eugène Boutmy, correcteur d'imprimerie, 1883. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] Calc Macro
Bonjour Voici une nouvelle question envoyée à l'aide du formulaire de demande d'aide (http://fr.libreoffice.org/get-help/poser-une-question/). Si vous répondez, merci de penser à utiliser la fonction "répondre à tous" de votre logiciel de courrier électronique de façon que le demandeur reçoive une copie de votre réponse. Email:: man...@mail.pf Sujet:: Calc Macro OS:: Windows 8 ou 8.1 Version:: 5.4.x Question:: Comment enregistrer une séquence d'actions sur un classeur excel pour l'automatiser dans une macro ? Comment mettre cette macro dans le bandeau des icone lorsque j'ouvre ce classeur de sorte à l'exécuter par simple clic ? Merci -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour vous désinscrire Les archives de la liste sont disponibles à https://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] CALC/Macro/ syntaxe appel une function
Bonjour, J'ai une macro de P.Yves : Plage utilisée a laquelle j'ai ajoute une funtion du libre de Bernard Marcelly. Je voudrai obtenir la plage utilisée sous la forme A3:F12. Je n'arrive pas à trouver la syntaxe pour passer les paramétres à la fonction. j'ai mis le classeur etude_plage_utilisee.ods sur cjoint lien : http://cjoint.com/?EAfr5TNvSioj Pouvez-vous venir à mon secours Merci Cordialement GUYTOU59 -- View this message in context: http://nabble.documentfoundation.org/CALC-Macro-syntaxe-appel-une-function-tp4135417.html Sent from the Users mailing list archive at Nabble.com. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
re: [fr-users] CALC/Macro/ syntaxe appel une function
Il y a un problème de lien cjoint je mets le nouveau lien : http://cjoint.com/?EAhloDvoSGl Avec toutes mes excuses GUYTOU59 Message du 07/01/15 10:45 De : guytou59 A : users@fr.libreoffice.org Copie à : Objet : [fr-users] CALC/Macro/ syntaxe appel une function Bonjour, J'ai une macro de P.Yves : Plage utilisée a laquelle j'ai ajoute une funtion du libre de Bernard Marcelly. Je voudrai obtenir la plage utilisée sous la forme A3:F12. Je n'arrive pas à trouver la syntaxe pour passer les paramétres à la fonction. j'ai mis le classeur etude_plage_utilisee.ods sur cjoint lien : http://cjoint.com/?EAfr5TNvSioj Pouvez-vous venir à mon secours Merci Cordialement GUYTOU59 -- View this message in context: http://nabble.documentfoundation.org/CALC-Macro-syntaxe-appel-une-function-tp4135417.html Sent from the Users mailing list archive at Nabble.com. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: re: [fr-users] CALC/Macro/ syntaxe appel une function
Bonjour, Dans ton module, tu gère une zone, il convient donc d'appeler la fonction adrzonestring comme suit adrZoneString(thiscomponent,LibOCellRangeAddress) Claude Message original *Sujet: *[INTERNET] re: [fr-users] CALC/Macro/ syntaxe appel une function *De : *Guy POIDEVIN gpoide...@orange.fr *Pour : *users@fr.libreoffice.org *Date : *07/01/2015 11:13 Il y a un problème de lien cjoint je mets le nouveau lien : http://cjoint.com/?EAhloDvoSGl Avec toutes mes excuses GUYTOU59 Message du 07/01/15 10:45 De : guytou59 A : users@fr.libreoffice.org Copie à : Objet : [fr-users] CALC/Macro/ syntaxe appel une function Bonjour, J'ai une macro de P.Yves : Plage utilisée a laquelle j'ai ajoute une funtion du libre de Bernard Marcelly. Je voudrai obtenir la plage utilisée sous la forme A3:F12. Je n'arrive pas à trouver la syntaxe pour passer les paramétres à la fonction. j'ai mis le classeur etude_plage_utilisee.ods sur cjoint lien : http://cjoint.com/?EAfr5TNvSioj Pouvez-vous venir à mon secours Merci Cordialement GUYTOU59 -- View this message in context: http://nabble.documentfoundation.org/CALC-Macro-syntaxe-appel-une-function-tp4135417.html Sent from the Users mailing list archive at Nabble.com. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] Calc MAcro : tester le contenu d'une cellule qui contient une formule
Bonjour, Après recherches sur forum, cette liste, faq et aide... relecture du livre de Laurent... Je coince sur un truc qui me semble hyper basic. Je souhaite tester le contenu d'une cellule pour lancer un traitement. Concrètement : Critere = Toto Si cellule=toto alors traitement MAIS, la cellule ne contient pas toto mais une fonction SI qui écrit toto ou autre chose. (du vide) Si j'utilise maCelluleTest=maFeuille.getCellRangeByName(I3) si I3 contient texte : .string si I3 contient numérique : .value Mais je ne trouve pas comment tester le résultat de mon contenu. si I3.formula, j'obtiens bien la fonction SI mais pas son résultat. Je craque un peu ;-) Merci de votre aide. Marie-Jo -- Marie jo KOPP CASTINEL Société OpenGo http://www.opengo.fr Soutenez la bureautique libre http://www.lamouette.org -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc MAcro : tester le contenu d'une cellule qui contient une formule
Bonjour, Tu es sure que le .string (ou le .value selon les cas) ne contient pas le résultat ? Chez moi c'est bien le cas le .formulalocal contient la formule. Claude Message original *Sujet: *[INTERNET] [fr-users] Calc MAcro : tester le contenu d'une cellule qui contient une formule *De : *Marie jo Libo mari...@opengo.fr *Pour : *Liste Users LibO users@fr.libreoffice.org *Date : *10/11/2014 14:26 Bonjour, Après recherches sur forum, cette liste, faq et aide... relecture du livre de Laurent... Je coince sur un truc qui me semble hyper basic. Je souhaite tester le contenu d'une cellule pour lancer un traitement. Concrètement : Critere = Toto Si cellule=toto alors traitement MAIS, la cellule ne contient pas toto mais une fonction SI qui écrit toto ou autre chose. (du vide) Si j'utilise maCelluleTest=maFeuille.getCellRangeByName(I3) si I3 contient texte : .string si I3 contient numérique : .value Mais je ne trouve pas comment tester le résultat de mon contenu. si I3.formula, j'obtiens bien la fonction SI mais pas son résultat. Je craque un peu ;-) Merci de votre aide. Marie-Jo -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] calc macro : propriété formulalocal
Bonjour, Dans une macro, je dois vérifier que deux cellules contiennent la même formule. Pour cela, je voudrais pouvoir récupérer la formule qu'elles contiennent sous la forme RC et non avec les adresse des cellules concernées puisque ce ne sont pas les mêmes. La propriété formulalocal qui ne convient pas dans ce cas. Quelqu'un connaît-il une possibilité ? Merci par avance Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] calc macro : import de csv
Bonjour, Dans une macro calc, j'importe le contenu d'un fichier csv. Tout ce passe bien sauf que je n'arrive pas à libérer la ressource après l'import. Dans les exemples que j'ai pu trouver sur le Net, l'instruction suivante est utilisée pour rompre le lien mais apparemment ne libère pas la ressource Feuille.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE) Extrait de ma macro : FeuilleEnCours.link(adrDocCSV, , Text - txt - csv (StarCalc), _ optFiltre, com.sun.star.sheet.SheetLinkMode.VALUE) FeuilleEnCours.setLinkMode(com.sun.star.sheet.SheetLinkMode.NONE) Merci Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour Pierre-Yves, Bon sang mais c'est bien sûr ! Ça marche ... Je me disais bien qu'il manquait quelqu'un sur cette liste ces derniers temps. Bonne rentrée, Michel -Message d'origine- De : pierre-yves samyn [mailto:pierre-yves.sa...@laposte.net] Envoyé : mercredi 28 août 2013 16:55 À : users@fr.libreoffice.org Objet : RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour Je n'ai pas lu tout le fil, ni la possibilité de tester ce qui est proposé ci-dessous (donc fautes de frappe possibles) mais ce qui est demandé dans le titre est possible via l'utilisation d'un curseur). L'exemple ci-dessous devrait afficher Feuille 0, Col deb 1, Col fin 2, lig deb 1, lig fin 3 si la plage fusionnée était B2:C4 Sub Main dim oFeuille as object, oCell as object, oCurs as object oFeuille = thiscomponent.sheets.getByName(Feuille1) oCell = oFeuille.getcellrangebyname(B2) oCurs = oFeuille.createCursorByRange(oCell) oCurs.collapseToMergedArea with oCurs.RangeAddress msgbox Feuille : .Sheet chr(13) _ Col deb : .StartColumn chr(13) _ Col fin : .EndColumn chr(13) _ Lig deb : .StartRow chr(13) _ Lig fin : .EndRow end with End Sub -- View this message in context: http://nabble.documentfoundation.org/Calc- macro-Trouver-plage-associee-a-une-cellule-fusionnee- tp4069741p4072048.html Sent from the Users mailing list archive at Nabble.com. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] Re: [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour et merci beaucoup. Cela fonctionne parfaitement. Bonne journée Claude Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : pierre-yves samyn pierre-yves.sa...@laposte.net Pour : users@fr.libreoffice.org Date : 28/08/2013 16:55 Bonjour Je n'ai pas lu tout le fil, ni la possibilité de tester ce qui est proposé ci-dessous (donc fautes de frappe possibles) mais ce qui est demandé dans le titre est possible via l'utilisation d'un curseur). L'exemple ci-dessous devrait afficher Feuille 0, Col deb 1, Col fin 2, lig deb 1, lig fin 3 si la plage fusionnée était B2:C4 Sub Main dim oFeuille as object, oCell as object, oCurs as object oFeuille = thiscomponent.sheets.getByName(Feuille1) oCell = oFeuille.getcellrangebyname(B2) oCurs = oFeuille.createCursorByRange(oCell) oCurs.collapseToMergedArea with oCurs.RangeAddress msgbox Feuille : .Sheet chr(13) _ Col deb : .StartColumn chr(13) _ Col fin : .EndColumn chr(13) _ Lig deb : .StartRow chr(13) _ Lig fin : .EndRow end with End Sub -- View this message in context: http://nabble.documentfoundation.org/Calc-macro-Trouver-plage-associee-a-une-cellule-fusionnee-tp4069741p4072048.html Sent from the Users mailing list archive at Nabble.com. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour, J'ai juste testé sur un classeur vierge. j'ai fusionné quelques cellules. j'ai nommé cette plage toto et j'ai lancé la macro. Quant à refusionner, moi je ne fais rien puisque dans la macro, il est noté et on refait la fusion, autant remettre en l'état, isn't ? oPlage.Merge(True) Et quand la macro a été exécutée une fois je me retrouve avec aucune cellule fusionnée et la plage toto fait référence à la première cellule de l'ancienne plage fusionnée. Claude Message original Sujet : [INTERNET] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : claude pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 21/08/2013 03:44 Tu me surprends un peu : [mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées] Cela fonctionne une fois normalement ? ou à plus ou moins une fois ? Les cellules non fusionnées, c'est AMHA moins grave : où est comment tu refusionnes.? Selon le cas, il suffit de resélectionner à partir de oRange avant de lancer la fusion. Donc, si ton fichier n'a rien de confidentiel, ce serait bien de le joindre et, s'il l'est, tu peux toujours effacer les contenus sensibles : le truc c'est de voir ton contexte, pas le contenu du fichier. Date: Tue, 20 Aug 2013 17:15:35 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: Re: RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Encore une fois, merci d'essayer mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées. Désolée Bonne soirée Claude Message original Sujet : [INTERNET] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : claude pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 20/08/2013 16:39 Bonjour, Effectivement j'ai trouvé une version AOO avec laquelle cela ne fonctionne pas. :( Donc on reprend le schmilblick avec une autre approche : Sub essaiToto3 Dim oSheet as Object, oPlage As Object, oRange As Object oSheet = Thiscomponent.Sheets.getByName(Feuille1) oPlage = oSheet.getCellRangeByName(Toto) IF oPlage.isMerged Then ' On annule la fusion des cellules et... ' ô miracle la sélection porte sur la plage anciennement fusionnée ;) oPlage.Merge(False) ' On récupère donc le RangeAddress oRange = ThisComponent.CurrentSelection.RangeAddress ' et on refait la fusion, autant remettre en l'état, isn't ? oPlage.Merge(True) End If MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Cordialement Date: Tue, 20 Aug 2013 09:02:39 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, Merci à tous mais pour moi il n'y a que la méthode avec le dispatcher qui fonctionne. La macro de Patrice ne me renvoie que la première cellule de la plage fusionnée Claude Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : Michel Rudelle rudelle.mic...@gmail.com, 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 13/08/2013 16:47 En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos : Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(Toto).AbsoluteName oPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en mode compact (sans variables intermédiaires)... Version 2 splits : Sub essaiToto2 Dim oSheet As Object, sPlage As String oSheet = Thiscomponent.Sheets.getByName(Feuille1) sPlage = oSheet.getCellRangeByName(Toto).AbsoluteName Dim aInfosF() As String
[fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Yo Effectivement, je n'ai pas testé les références liées à de la plage nommée. Il m'aurait semblé que le définition de la plage, même erronée le temps du unmerge/merge, serait restée en l'état. Il est possible que nos codeurs aient jugé bon d'actualiser en live... Ou qu'il s'agit d'une fonctionnalité non documentée. ^^ La manip sur l'étendue du merge n'implique pas nécessairement d'automatiser une redéfinition de la zone nommée. J'aurai même tendance à penser que ce n'est pas plus mal de la laisser en l'état, même si le premier automatisme peut se défendre. Ce qui ramène à l'aspect pratique de l'utilisation du dispacher : on ne touche à rien = on n'a rien à sauvegarder pour une restauration ultérieure == on se contente de se déplacer. Par contre, la perte de la référence complète du RangeAddress est à mon sens une régression. Je ne sais pas trop où elle a commencé avec LO, si tant est de LO ait renvoyé une RangeAddress complet dans une version (ce qui ne fait pas partie des essais que je peux faire, croyant naïvement que c'est une chose bouclée qui peut difficilement évoluer en mal...) De plus, rapidement les essais m'ont conduit à attendre patiemment la 4.1.1. Comprendre : je ne teste, sur LO, que ponctuellement ^^ Les compteurs ayant commencé à défiler en 4.0.x, les 4.1.x vont viendre... ^^ ;) Date: Thu, 22 Aug 2013 08:21:38 +0200 From: pref-open-off...@haute-garonne.gouv.fr CC: users@fr.libreoffice.org Subject: Re: RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, J'ai juste testé sur un classeur vierge. j'ai fusionné quelques cellules. j'ai nommé cette plage toto et j'ai lancé la macro. Quant à refusionner, moi je ne fais rien puisque dans la macro, il est noté et on refait la fusion, autant remettre en l'état, isn't ? oPlage.Merge(True) Et quand la macro a été exécutée une fois je me retrouve avec aucune cellule fusionnée et la plage toto fait référence à la première cellule de l'ancienne plage fusionnée. Claude Message original Sujet : [INTERNET] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : claude pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 21/08/2013 03:44 Tu me surprends un peu : [mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées] Cela fonctionne une fois normalement ? ou à plus ou moins une fois ? Les cellules non fusionnées, c'est AMHA moins grave : où est comment tu refusionnes.? Selon le cas, il suffit de resélectionner à partir de oRange avant de lancer la fusion. Donc, si ton fichier n'a rien de confidentiel, ce serait bien de le joindre et, s'il l'est, tu peux toujours effacer les contenus sensibles : le truc c'est de voir ton contexte, pas le contenu du fichier. Date: Tue, 20 Aug 2013 17:15:35 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: Re: RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Encore une fois, merci d'essayer mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées. Désolée Bonne soirée Claude Message original Sujet : [INTERNET] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : claude pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 20/08/2013 16:39 Bonjour, Effectivement j'ai trouvé une version AOO avec laquelle cela ne fonctionne pas. :( Donc on reprend le schmilblick avec une autre approche : Sub essaiToto3 Dim oSheet as Object, oPlage As Object, oRange As Object oSheet = Thiscomponent.Sheets.getByName(Feuille1) oPlage = oSheet.getCellRangeByName(Toto) IF oPlage.isMerged Then ' On annule la fusion des cellules et... ' ô miracle la sélection porte sur la plage anciennement fusionnée ;) oPlage.Merge(False) ' On récupère donc le RangeAddress oRange = ThisComponent.CurrentSelection.RangeAddress ' et on refait la fusion, autant remettre en l'état, isn't ? oPlage.Merge(True) End If MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Cordialement Date: Tue, 20 Aug 2013 09:02:39 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: [fr-users] Re
RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonsoir, De : VEDEL Patrice [mailto:patve...@hotmail.com] Envoyé : jeudi 22 août 2013 16:23 [...] Par contre, la perte de la référence complète du RangeAddress est à mon sens une régression. Je ne sais pas trop où elle a commencé avec LO, si tant est de LO ait renvoyé une RangeAddress complet dans une version ... J'ai pu vérifier ayant une palanquée de versions installées en // Le fonctionnement est identique avec la 3.3.4 Je pense que l'info est ailleurs, je manque de temps pour essayer, il faudrait voir de ce coté: http://www.openoffice.org/api/docs/common/ref/com/sun/star/table/XMergeableC ell.html Michel -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour, Très intéressant cette façon de trouver la plage, mais il reste un inconvénient: Certaines propriétés ne sont pas conservées lors de la re-fusion, par exemple les alignements. Ceci pourrait se régler en les lisant au préalable et les réappliquant ensuite, mais cela complique un peu la macro et il faudrait vérifier si d'autres propriétés ne sont concernées. Et si la feuille est protégée, il faut déprotéger puis reprotéger. Si le dispatcher marche pour le besoin de l'utilisateur, pourquoi se compliquer la vie ? ... mais cette méthode est à garder en mémoire. Bonne journée, Michel -Message d'origine- De : VEDEL Patrice [mailto:patve...@hotmail.com] Envoyé : mercredi 21 août 2013 03:44 À : claude; 'libreoffice' Objet : [fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Tu me surprends un peu : [mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées] Cela fonctionne une fois normalement ? ou à plus ou moins une fois ? Les cellules non fusionnées, c'est AMHA moins grave : où est comment tu refusionnes.? Selon le cas, il suffit de resélectionner à partir de oRange avant de lancer la fusion. Donc, si ton fichier n'a rien de confidentiel, ce serait bien de le joindre et, s'il l'est, tu peux toujours effacer les contenus sensibles : le truc c'est de voir ton contexte, pas le contenu du fichier. Date: Tue, 20 Aug 2013 17:15:35 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: Re: RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Encore une fois, merci d'essayer mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées. Désolée Bonne soirée Claude Message original Sujet : [INTERNET] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : claude pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 20/08/2013 16:39 Bonjour, Effectivement j'ai trouvé une version AOO avec laquelle cela ne fonctionne pas. :( Donc on reprend le schmilblick avec une autre approche : Sub essaiToto3 Dim oSheet as Object, oPlage As Object, oRange As Object oSheet = Thiscomponent.Sheets.getByName(Feuille1) oPlage = oSheet.getCellRangeByName(Toto) IF oPlage.isMerged Then ' On annule la fusion des cellules et... ' ô miracle la sélection porte sur la plage anciennement fusionnée ;) oPlage.Merge(False) ' On récupère donc le RangeAddress oRange = ThisComponent.CurrentSelection.RangeAddress ' et on refait la fusion, autant remettre en l'état, isn't ? oPlage.Merge(True) End If MsgBox Feuille: oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite: oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Cordialement Date: Tue, 20 Aug 2013 09:02:39 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, Merci à tous mais pour moi il n'y a que la méthode avec le dispatcher qui fonctionne. La macro de Patrice ne me renvoie que la première cellule de la plage fusionnée Claude Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : Michel Rudelle rudelle.mic...@gmail.com, 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 13/08/2013 16:47 En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos : Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(Toto).Abso luteName oPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en
[fr-users] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour J'ai fait à la hache, pour ne traiter que l'aspect coordonnées, mais effectivement il y a plusieurs choses à traiter pour une gestion sans effets collatéraux. Quant à la question concernant le dispatcher : j'aime bien l'API (entre autres parce que cela me permet d'en découvrir toujours de nouveaux pans et dieu sait s'il m'en reste à découvrir...). Je garde le dispatcher dans les cas où il se distingue (moins verbeux et/ou plus rapide). Dans ce cas, il semblerait qu'il soit plus efficace si, via l'API, il faut sauvergader un tas d'objets... Et pourquoi faire simple quand on peut faire compliqué... ;) Bonne journée. From: rudelle.mic...@gmail.com To: users@fr.libreoffice.org Subject: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Date: Wed, 21 Aug 2013 10:23:58 +0200 Bonjour, Très intéressant cette façon de trouver la plage, mais il reste un inconvénient: Certaines propriétés ne sont pas conservées lors de la re-fusion, par exemple les alignements. Ceci pourrait se régler en les lisant au préalable et les réappliquant ensuite, mais cela complique un peu la macro et il faudrait vérifier si d'autres propriétés ne sont concernées. Et si la feuille est protégée, il faut déprotéger puis reprotéger. Si le dispatcher marche pour le besoin de l'utilisateur, pourquoi se compliquer la vie ? ... mais cette méthode est à garder en mémoire. Bonne journée, Michel -Message d'origine- De : VEDEL Patrice [mailto:patve...@hotmail.com] Envoyé : mercredi 21 août 2013 03:44 À : claude; 'libreoffice' Objet : [fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Tu me surprends un peu : [mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées] Cela fonctionne une fois normalement ? ou à plus ou moins une fois ? Les cellules non fusionnées, c'est AMHA moins grave : où est comment tu refusionnes.? Selon le cas, il suffit de resélectionner à partir de oRange avant de lancer la fusion. Donc, si ton fichier n'a rien de confidentiel, ce serait bien de le joindre et, s'il l'est, tu peux toujours effacer les contenus sensibles : le truc c'est de voir ton contexte, pas le contenu du fichier. Date: Tue, 20 Aug 2013 17:15:35 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: Re: RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Encore une fois, merci d'essayer mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées. Désolée Bonne soirée Claude Message original Sujet : [INTERNET] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : claude pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 20/08/2013 16:39 Bonjour, Effectivement j'ai trouvé une version AOO avec laquelle cela ne fonctionne pas. :( Donc on reprend le schmilblick avec une autre approche : Sub essaiToto3 Dim oSheet as Object, oPlage As Object, oRange As Object oSheet = Thiscomponent.Sheets.getByName(Feuille1) oPlage = oSheet.getCellRangeByName(Toto) IF oPlage.isMerged Then ' On annule la fusion des cellules et... ' ô miracle la sélection porte sur la plage anciennement fusionnée ;) oPlage.Merge(False) ' On récupère donc le RangeAddress oRange = ThisComponent.CurrentSelection.RangeAddress ' et on refait la fusion, autant remettre en l'état, isn't ? oPlage.Merge(True) End If MsgBox Feuille: oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite: oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Cordialement Date: Tue, 20 Aug 2013 09:02:39 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, Merci à tous mais pour moi il n'y a que la méthode avec le dispatcher qui fonctionne. La macro de Patrice ne me renvoie que la première cellule de la plage fusionnée Claude Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : Michel Rudelle
[fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour, Merci à tous mais pour moi il n'y a que la méthode avec le dispatcher qui fonctionne. La macro de Patrice ne me renvoie que la première cellule de la plage fusionnée Claude Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : Michel Rudelle rudelle.mic...@gmail.com, 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 13/08/2013 16:47 En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos : Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(Toto).AbsoluteName oPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en mode compact (sans variables intermédiaires)... Version 2 splits : Sub essaiToto2 Dim oSheet As Object, sPlage As String oSheet = Thiscomponent.Sheets.getByName(Feuille1) sPlage = oSheet.getCellRangeByName(Toto).AbsoluteName Dim aInfosF() As String, aInfosCell() As String, sFeuille As String Dim sHautGauche As String, sBasDroite As String aInfosF = split(sPlage, .) : sFeuille = aInfosF(0) aInfosCell = split(aInfosF(1), :) sHautGauche = aInfosCell(0) : sBasDroite = aInfosCell(1) MsgBox sFeuille chr(10) sHautGauche chr(10) sBasDroite End Sub Je vous laisse la version 3 splits sans variables en devoir de vacances... ^^ From: rudelle.mic...@gmail.com To: pref-open-off...@haute-garonne.gouv.fr; users@fr.libreoffice.org Subject: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Date: Tue, 13 Aug 2013 12:17:41 +0200 … suite Voici ce que j’ai trouvé avec l’aide de l’enregistreur de macro à partir de l’idée du forum OOo, pas très élégant mais ça marche, à adapter bien sûr au contexte (je ne sais pas pourquoi il est dit dans le forum que ça ne marche pas) Le principe : j’ai une plage fusionnée : E17:K21. J’utilise le dispatcher pour me positionner sur la première cellule E17, puis en me déplaçant toujours grâce au dispatcher un coup en bas et un coup à droite, je trouve les deux adresses des cellules adjacentes à la plage : adresseDessous = $Feuille1.$E$22 adresseAdroite = $Feuille1.$L$17 A partir de là, on peut aisément déduire que la dernière cellule de la plage est K21 Sub cherchePlage Dim document as Object, dispatcher as Object, adresseDessous As String, adresseAdroite As String dim args1(0) as new com.sun.star.beans.PropertyValue document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) 'rechercher cellule dessous args1(0).Name = ToPoint args1(0).Value = $E$17 dispatcher.executeDispatch(document, .uno:GoToCell, , 0, args1()) dispatcher.executeDispatch(document, .uno:JumpToNextCell, , 0, Array()) adresseDessous = thiscomponent.currentSelection.AbsoluteName 'rechercher cellule à droite args1(0).Name = ToPoint args1(0).Value = $E$17 dispatcher.executeDispatch(document, .uno:GoToCell, , 0, args1()) dim args3(1) as new com.sun.star.beans.PropertyValue args3(0).Name = By args3(0).Value = 1 args3(1).Name = Sel args3(1).Value = false dispatcher.executeDispatch(document, .uno:GoRight, , 0, args3()) adresseAdroite = thiscomponent.currentSelection.AbsoluteName End Sub Bonne journée, Michel _ De : Michel Rudelle [mailto:rudelle.mic...@gmail.com] Envoyé : mardi 13 août 2013 11:11 À : 'claude'; 'libreoffice' Objet : RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, Ce n’est pas un problème de version et ma réponse était idiote :( En effet, elle contenait la réponse, car j’avais défini toto nommée comme E17:K21 (cellules effectivement fusionnées) La même chose en définissant le nom toto uniquement sur la première E17 ne permet pas de connaître l’étendue de la plage fusionnée et en effet, je ne trouve pas de méthode. J’ai une idée qui me trotte derrière la tête, je vais essayer dans la journée, on ne sait jamais … Bonne journée, Michel _ De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : mardi 13 août 2013 08:07 À : Michel Rudelle Cc : 'claude'; 'libreoffice' Objet : Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Message original Sujet : [INTERNET] RE: [fr-users
[fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour, Effectivement j'ai trouvé une version AOO avec laquelle cela ne fonctionne pas. :( Donc on reprend le schmilblick avec une autre approche : Sub essaiToto3 Dim oSheet as Object, oPlage As Object, oRange As Object oSheet = Thiscomponent.Sheets.getByName(Feuille1) oPlage = oSheet.getCellRangeByName(Toto) IF oPlage.isMerged Then ' On annule la fusion des cellules et... ' ô miracle la sélection porte sur la plage anciennement fusionnée ;) oPlage.Merge(False) ' On récupère donc le RangeAddress oRange = ThisComponent.CurrentSelection.RangeAddress ' et on refait la fusion, autant remettre en l'état, isn't ? oPlage.Merge(True) End If MsgBox Feuille: oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite: oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Cordialement Date: Tue, 20 Aug 2013 09:02:39 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, Merci à tous mais pour moi il n'y a que la méthode avec le dispatcher qui fonctionne. La macro de Patrice ne me renvoie que la première cellule de la plage fusionnée Claude Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : Michel Rudelle rudelle.mic...@gmail.com, 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 13/08/2013 16:47 En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos : Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(Toto).AbsoluteName oPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en mode compact (sans variables intermédiaires)... Version 2 splits : Sub essaiToto2 Dim oSheet As Object, sPlage As String oSheet = Thiscomponent.Sheets.getByName(Feuille1) sPlage = oSheet.getCellRangeByName(Toto).AbsoluteName Dim aInfosF() As String, aInfosCell() As String, sFeuille As String Dim sHautGauche As String, sBasDroite As String aInfosF = split(sPlage, .) : sFeuille = aInfosF(0) aInfosCell = split(aInfosF(1), :) sHautGauche = aInfosCell(0) : sBasDroite = aInfosCell(1) MsgBox sFeuille chr(10) sHautGauche chr(10) sBasDroite End Sub Je vous laisse la version 3 splits sans variables en devoir de vacances... ^^ From: rudelle.mic...@gmail.com To: pref-open-off...@haute-garonne.gouv.fr; users@fr.libreoffice.org Subject: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Date: Tue, 13 Aug 2013 12:17:41 +0200 … suite Voici ce que j’ai trouvé avec l’aide de l’enregistreur de macro à partir de l’idée du forum OOo, pas très élégant mais ça marche, à adapter bien sûr au contexte (je ne sais pas pourquoi il est dit dans le forum que ça ne marche pas) Le principe : j’ai une plage fusionnée : E17:K21. J’utilise le dispatcher pour me positionner sur la première cellule E17, puis en me déplaçant toujours grâce au dispatcher un coup en bas et un coup à droite, je trouve les deux adresses des cellules adjacentes à la plage : adresseDessous = $Feuille1.$E$22 adresseAdroite = $Feuille1.$L$17 A partir de là, on peut aisément déduire que la dernière cellule de la plage est K21 Sub cherchePlage Dim document as Object, dispatcher as Object, adresseDessous As String, adresseAdroite As String dim args1(0) as new com.sun.star.beans.PropertyValue document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) 'rechercher cellule dessous args1(0).Name = ToPoint args1(0).Value = $E$17 dispatcher.executeDispatch(document, .uno:GoToCell, , 0, args1()) dispatcher.executeDispatch(document, .uno:JumpToNextCell, , 0, Array()) adresseDessous = thiscomponent.currentSelection.AbsoluteName 'rechercher cellule à droite args1(0).Name = ToPoint args1(0).Value = $E$17
Re: RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Encore une fois, merci d'essayer mais cela ne fonctionne qu'une fois et cela ne donne que la dernière ligne de fusion mais la colonne mais si on recommence les cellules sont dé-fusionnées. Désolée Bonne soirée Claude Message original Sujet : [INTERNET] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : claude pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 20/08/2013 16:39 Bonjour, Effectivement j'ai trouvé une version AOO avec laquelle cela ne fonctionne pas. :( Donc on reprend le schmilblick avec une autre approche : Sub essaiToto3 Dim oSheet as Object, oPlage As Object, oRange As Object oSheet = Thiscomponent.Sheets.getByName(Feuille1) oPlage = oSheet.getCellRangeByName(Toto) IF oPlage.isMerged Then ' On annule la fusion des cellules et... ' ô miracle la sélection porte sur la plage anciennement fusionnée ;) oPlage.Merge(False) ' On récupère donc le RangeAddress oRange = ThisComponent.CurrentSelection.RangeAddress ' et on refait la fusion, autant remettre en l'état, isn't ? oPlage.Merge(True) End If MsgBox Feuille: oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite: oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Cordialement Date: Tue, 20 Aug 2013 09:02:39 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: users@fr.libreoffice.org Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, Merci à tous mais pour moi il n'y a que la méthode avec le dispatcher qui fonctionne. La macro de Patrice ne me renvoie que la première cellule de la plage fusionnée Claude Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : VEDEL Patrice patve...@hotmail.com Pour : Michel Rudelle rudelle.mic...@gmail.com, 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 13/08/2013 16:47 En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos : Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(Toto).AbsoluteName oPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en mode compact (sans variables intermédiaires)... Version 2 splits : Sub essaiToto2 Dim oSheet As Object, sPlage As String oSheet = Thiscomponent.Sheets.getByName(Feuille1) sPlage = oSheet.getCellRangeByName(Toto).AbsoluteName Dim aInfosF() As String, aInfosCell() As String, sFeuille As String Dim sHautGauche As String, sBasDroite As String aInfosF = split(sPlage, .) : sFeuille = aInfosF(0) aInfosCell = split(aInfosF(1), :) sHautGauche = aInfosCell(0) : sBasDroite = aInfosCell(1) MsgBox sFeuille chr(10) sHautGauche chr(10) sBasDroite End Sub Je vous laisse la version 3 splits sans variables en devoir de vacances... ^^ From: rudelle.mic...@gmail.com To: pref-open-off...@haute-garonne.gouv.fr; users@fr.libreoffice.org Subject: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Date: Tue, 13 Aug 2013 12:17:41 +0200 … suite Voici ce que j’ai trouvé avec l’aide de l’enregistreur de macro à partir de l’idée du forum OOo, pas très élégant mais ça marche, à adapter bien sûr au contexte (je ne sais pas pourquoi il est dit dans le forum que ça ne marche pas) Le principe : j’ai une plage fusionnée : E17:K21. J’utilise le dispatcher pour me positionner sur la première cellule E17, puis en me déplaçant toujours grâce au dispatcher un coup en bas et un coup à droite, je trouve les deux adresses des cellules adjacentes à la plage : adresseDessous = $Feuille1.$E$22 adresseAdroite = $Feuille1.$L$17 A partir de là, on peut aisément déduire que la dernière cellule de la plage est K21 Sub cherchePlage Dim document as Object, dispatcher as Object, adresseDessous As String, adresseAdroite As String dim args1(0) as new com.sun.star.beans.PropertyValue document = ThisComponent.CurrentController.Frame dispatcher = createUnoService
[fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : Michel Rudelle rudelle.mic...@gmail.com Pour : 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 12/08/2013 17:57 Bonjour, De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : lundi 12 août 2013 17:24 Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la plage associée qui me donnerait la première et la dernière cellule concernée par cette fusion . J'ai juste trouvé la propriété merged ou pas !!! Essai rapide: Sub essaiToto Dim cellule As Object, objetAdresse As Object, plage as String cellule = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(toto) objetAdresse = cellule.RangeAddress plage = cellule.AbsoluteName End Sub toto est une plage nommée fusionnée (5x7) dans ma Feuille1 objetAdresse est l'objet qui décrit la plage et plage donne directement la chaîne (par ex: $Feuille1.$D$17:$J$21) Est-ce que ça répond ? Bonne soirée, Michel Désolée mais moi çà me donne que l'adresse de la première cellule Peut être un roblème de version ? Je suis en LibreOffice 3.5.7.2 MIMO Merci quand même Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour, Ce nest pas un problème de version et ma réponse était idiote :( En effet, elle contenait la réponse, car javais défini toto nommée comme E17:K21 (cellules effectivement fusionnées) La même chose en définissant le nom toto uniquement sur la première E17 ne permet pas de connaître létendue de la plage fusionnée et en effet, je ne trouve pas de méthode. Jai une idée qui me trotte derrière la tête, je vais essayer dans la journée, on ne sait jamais Bonne journée, Michel _ De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : mardi 13 août 2013 08:07 À : Michel Rudelle Cc : 'claude'; 'libreoffice' Objet : Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : Michel Rudelle mailto:rudelle.mic...@gmail.com rudelle.mic...@gmail.com Pour : 'claude' mailto:pref-open-off...@haute-garonne.gouv.fr pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' mailto:users@fr.libreoffice.org users@fr.libreoffice.org Date : 12/08/2013 17:57 Bonjour, De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : lundi 12 août 2013 17:24 Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la plage associée qui me donnerait la première et la dernière cellule concernée par cette fusion . J'ai juste trouvé la propriété merged ou pas !!! Essai rapide: Sub essaiToto Dim cellule As Object, objetAdresse As Object, plage as String cellule = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(toto) objetAdresse = cellule.RangeAddress plage = cellule.AbsoluteName End Sub toto est une plage nommée fusionnée (5x7) dans ma Feuille1 objetAdresse est l'objet qui décrit la plage et plage donne directement la chaîne (par ex: $Feuille1.$D$17:$J$21) Est-ce que ça répond ? Bonne soirée, Michel Désolée mais moi çà me donne que l'adresse de la première cellule Peut être un roblème de version ? Je suis en LibreOffice 3.5.7.2 MIMO Merci quand même Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
suite Voici ce que jai trouvé avec laide de lenregistreur de macro à partir de lidée du forum OOo, pas très élégant mais ça marche, à adapter bien sûr au contexte (je ne sais pas pourquoi il est dit dans le forum que ça ne marche pas) Le principe : jai une plage fusionnée : E17:K21. Jutilise le dispatcher pour me positionner sur la première cellule E17, puis en me déplaçant toujours grâce au dispatcher un coup en bas et un coup à droite, je trouve les deux adresses des cellules adjacentes à la plage : adresseDessous = $Feuille1.$E$22 adresseAdroite = $Feuille1.$L$17 A partir de là, on peut aisément déduire que la dernière cellule de la plage est K21 Sub cherchePlage Dim document as Object, dispatcher as Object, adresseDessous As String, adresseAdroite As String dim args1(0) as new com.sun.star.beans.PropertyValue document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) 'rechercher cellule dessous args1(0).Name = ToPoint args1(0).Value = $E$17 dispatcher.executeDispatch(document, .uno:GoToCell, , 0, args1()) dispatcher.executeDispatch(document, .uno:JumpToNextCell, , 0, Array()) adresseDessous = thiscomponent.currentSelection.AbsoluteName 'rechercher cellule à droite args1(0).Name = ToPoint args1(0).Value = $E$17 dispatcher.executeDispatch(document, .uno:GoToCell, , 0, args1()) dim args3(1) as new com.sun.star.beans.PropertyValue args3(0).Name = By args3(0).Value = 1 args3(1).Name = Sel args3(1).Value = false dispatcher.executeDispatch(document, .uno:GoRight, , 0, args3()) adresseAdroite = thiscomponent.currentSelection.AbsoluteName End Sub Bonne journée, Michel _ De : Michel Rudelle [mailto:rudelle.mic...@gmail.com] Envoyé : mardi 13 août 2013 11:11 À : 'claude'; 'libreoffice' Objet : RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, Ce nest pas un problème de version et ma réponse était idiote :( En effet, elle contenait la réponse, car javais défini toto nommée comme E17:K21 (cellules effectivement fusionnées) La même chose en définissant le nom toto uniquement sur la première E17 ne permet pas de connaître létendue de la plage fusionnée et en effet, je ne trouve pas de méthode. Jai une idée qui me trotte derrière la tête, je vais essayer dans la journée, on ne sait jamais Bonne journée, Michel _ De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : mardi 13 août 2013 08:07 À : Michel Rudelle Cc : 'claude'; 'libreoffice' Objet : Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : Michel Rudelle mailto:rudelle.mic...@gmail.com rudelle.mic...@gmail.com Pour : 'claude' mailto:pref-open-off...@haute-garonne.gouv.fr pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' mailto:users@fr.libreoffice.org users@fr.libreoffice.org Date : 12/08/2013 17:57 Bonjour, De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : lundi 12 août 2013 17:24 Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la plage associée qui me donnerait la première et la dernière cellule concernée par cette fusion . J'ai juste trouvé la propriété merged ou pas !!! Essai rapide: Sub essaiToto Dim cellule As Object, objetAdresse As Object, plage as String cellule = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(toto) objetAdresse = cellule.RangeAddress plage = cellule.AbsoluteName End Sub toto est une plage nommée fusionnée (5x7) dans ma Feuille1 objetAdresse est l'objet qui décrit la plage et plage donne directement la chaîne (par ex: $Feuille1.$D$17:$J$21) Est-ce que ça répond ? Bonne soirée, Michel Désolée mais moi çà me donne que l'adresse de la première cellule Peut être un roblème de version ? Je suis en LibreOffice 3.5.7.2 MIMO Merci quand même Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour, La solution de Michel me semble plus élégante car : - soit on récupère une chaîne contenant le nom de la feuille et le nom des cellules délimitant le merge : deux split permettent d'isoler les infos, - soit on repart de l'objet objetAdresse (objetAdresse = cellule.RangeAddress) et puisque c'est un type RangeAddress : objetAdresse.Sheet donne l'index de la feuille, objetAdresse.StartColumn et objetAdresse.StartRow, les index de la cellule haut gauche, objetAdresse.EndColumn et objetAdresse.EndRow, les index de la cellule bas droite. Testé sous AOO et LO. Date: Tue, 13 Aug 2013 08:07:24 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: rudelle.mic...@gmail.com CC: pref-open-off...@haute-garonne.gouv.fr; users@fr.libreoffice.org Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : Michel Rudelle rudelle.mic...@gmail.com Pour : 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 12/08/2013 17:57 Bonjour, De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : lundi 12 août 2013 17:24 Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la plage associée qui me donnerait la première et la dernière cellule concernée par cette fusion . J'ai juste trouvé la propriété merged ou pas !!! Essai rapide: Sub essaiToto Dim cellule As Object, objetAdresse As Object, plage as String cellule = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(toto) objetAdresse = cellule.RangeAddress plage = cellule.AbsoluteName End Sub toto est une plage nommée fusionnée (5x7) dans ma Feuille1 objetAdresse est l'objet qui décrit la plage et plage donne directement la chaîne (par ex: $Feuille1.$D$17:$J$21) Est-ce que ça répond ? Bonne soirée, Michel Désolée mais moi çà me donne que l'adresse de la première cellule Peut être un roblème de version ? Je suis en LibreOffice 3.5.7.2 MIMO Merci quand même Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] RE: [fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos : Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(Toto).AbsoluteName oPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en mode compact (sans variables intermédiaires)... Version 2 splits : Sub essaiToto2 Dim oSheet As Object, sPlage As String oSheet = Thiscomponent.Sheets.getByName(Feuille1) sPlage = oSheet.getCellRangeByName(Toto).AbsoluteName Dim aInfosF() As String, aInfosCell() As String, sFeuille As String Dim sHautGauche As String, sBasDroite As String aInfosF = split(sPlage, .) : sFeuille = aInfosF(0) aInfosCell = split(aInfosF(1), :) sHautGauche = aInfosCell(0) : sBasDroite = aInfosCell(1) MsgBox sFeuille chr(10) sHautGauche chr(10) sBasDroite End Sub Je vous laisse la version 3 splits comme devoir de vacances... ^^ From: patve...@hotmail.com To: pref-open-off...@haute-garonne.gouv.fr; rudelle.mic...@gmail.com CC: users@fr.libreoffice.org Subject: [fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Date: Tue, 13 Aug 2013 12:38:52 + Bonjour, La solution de Michel me semble plus élégante car : - soit on récupère une chaîne contenant le nom de la feuille et le nom des cellules délimitant le merge : deux split permettent d'isoler les infos, - soit on repart de l'objet objetAdresse (objetAdresse = cellule.RangeAddress) et puisque c'est un type RangeAddress : objetAdresse.Sheet donne l'index de la feuille, objetAdresse.StartColumn et objetAdresse.StartRow, les index de la cellule haut gauche, objetAdresse.EndColumn et objetAdresse.EndRow, les index de la cellule bas droite. Testé sous AOO et LO. Date: Tue, 13 Aug 2013 08:07:24 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: rudelle.mic...@gmail.com CC: pref-open-off...@haute-garonne.gouv.fr; users@fr.libreoffice.org Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : Michel Rudelle rudelle.mic...@gmail.com Pour : 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 12/08/2013 17:57 Bonjour, De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : lundi 12 août 2013 17:24 Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la plage associée qui me donnerait la première et la dernière cellule concernée par cette fusion . J'ai juste trouvé la propriété merged ou pas !!! Essai rapide: Sub essaiToto Dim cellule As Object, objetAdresse As Object, plage as String cellule = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(toto) objetAdresse = cellule.RangeAddress plage = cellule.AbsoluteName End Sub toto est une plage nommée fusionnée (5x7) dans ma Feuille1 objetAdresse est l'objet qui décrit la plage et plage donne directement la chaîne (par ex: $Feuille1.$D$17:$J$21) Est-ce que ça répond ? Bonne soirée, Michel Désolée mais moi çà me donne que l'adresse de la première cellule Peut être un roblème de version ? Je suis en LibreOffice 3.5.7.2 MIMO Merci quand même Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être
[fr-users] RE: [fr-users] RE: [fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos : Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(Toto).AbsoluteName oPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en mode compact (sans variables intermédiaires)... Version 2 splits : Sub essaiToto2 Dim oSheet As Object, sPlage As String oSheet = Thiscomponent.Sheets.getByName(Feuille1) sPlage = oSheet.getCellRangeByName(Toto).AbsoluteName Dim aInfosF() As String, aInfosCell() As String, sFeuille As String Dim sHautGauche As String, sBasDroite As String aInfosF = split(sPlage, .) : sFeuille = aInfosF(0) aInfosCell = split(aInfosF(1), :) sHautGauche = aInfosCell(0) : sBasDroite = aInfosCell(1) MsgBox sFeuille chr(10) sHautGauche chr(10) sBasDroite End Sub Je vous laisse la version 3 splits sans variables comme devoir de vacances... ^^ From: patve...@hotmail.com To: pref-open-off...@haute-garonne.gouv.fr; rudelle.mic...@gmail.com CC: users@fr.libreoffice.org Subject: [fr-users] RE: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Date: Tue, 13 Aug 2013 12:38:52 + Bonjour, La solution de Michel me semble plus élégante car : - soit on récupère une chaîne contenant le nom de la feuille et le nom des cellules délimitant le merge : deux split permettent d'isoler les infos, - soit on repart de l'objet objetAdresse (objetAdresse = cellule.RangeAddress) et puisque c'est un type RangeAddress : objetAdresse.Sheet donne l'index de la feuille, objetAdresse.StartColumn et objetAdresse.StartRow, les index de la cellule haut gauche, objetAdresse.EndColumn et objetAdresse.EndRow, les index de la cellule bas droite. Testé sous AOO et LO. Date: Tue, 13 Aug 2013 08:07:24 +0200 From: pref-open-off...@haute-garonne.gouv.fr To: rudelle.mic...@gmail.com CC: pref-open-off...@haute-garonne.gouv.fr; users@fr.libreoffice.org Subject: [fr-users] Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : Michel Rudelle rudelle.mic...@gmail.com Pour : 'claude' pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' users@fr.libreoffice.org Date : 12/08/2013 17:57 Bonjour, De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : lundi 12 août 2013 17:24 Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la plage associée qui me donnerait la première et la dernière cellule concernée par cette fusion . J'ai juste trouvé la propriété merged ou pas !!! Essai rapide: Sub essaiToto Dim cellule As Object, objetAdresse As Object, plage as String cellule = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(toto) objetAdresse = cellule.RangeAddress plage = cellule.AbsoluteName End Sub toto est une plage nommée fusionnée (5x7) dans ma Feuille1 objetAdresse est l'objet qui décrit la plage et plage donne directement la chaîne (par ex: $Feuille1.$D$17:$J$21) Est-ce que ça répond ? Bonne soirée, Michel Désolée mais moi çà me donne que l'adresse de la première cellule Peut être un roblème de version ? Je suis en LibreOffice 3.5.7.2 MIMO Merci quand même Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les
[fr-users] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
En me relisant, je me dis que je ne suis pas très explicite. Donc un bout de code (compact) pour illustrer le propos : Sub essaiToto Dim sPlage as String, oPlage As Object, oRange As Object sPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(Toto).AbsoluteName oPlage = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(sPlage) oRange = oPlage.RangeAddress MsgBox Feuille : oRange.Sheet chr(10) _ Haut Gauche : oRange.StartColumn , oRange.StartRow chr(10) _ Bas Droite : oRange.EndColumn , oRange.EndRow, 64, Index de la plage fusionnée End Sub Pour l'utilisation directe de .AbsoluteName, c'est 2 splits avec variables intermédiaires ou 3 splits en mode compact (sans variables intermédiaires)... Version 2 splits : Sub essaiToto2 Dim oSheet As Object, sPlage As String oSheet = Thiscomponent.Sheets.getByName(Feuille1) sPlage = oSheet.getCellRangeByName(Toto).AbsoluteName Dim aInfosF() As String, aInfosCell() As String, sFeuille As String Dim sHautGauche As String, sBasDroite As String aInfosF = split(sPlage, .) : sFeuille = aInfosF(0) aInfosCell = split(aInfosF(1), :) sHautGauche = aInfosCell(0) : sBasDroite = aInfosCell(1) MsgBox sFeuille chr(10) sHautGauche chr(10) sBasDroite End Sub Je vous laisse la version 3 splits sans variables en devoir de vacances... ^^ From: rudelle.mic...@gmail.com To: pref-open-off...@haute-garonne.gouv.fr; users@fr.libreoffice.org Subject: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Date: Tue, 13 Aug 2013 12:17:41 +0200 … suite Voici ce que j’ai trouvé avec l’aide de l’enregistreur de macro à partir de l’idée du forum OOo, pas très élégant mais ça marche, à adapter bien sûr au contexte (je ne sais pas pourquoi il est dit dans le forum que ça ne marche pas) Le principe : j’ai une plage fusionnée : E17:K21. J’utilise le dispatcher pour me positionner sur la première cellule E17, puis en me déplaçant toujours grâce au dispatcher un coup en bas et un coup à droite, je trouve les deux adresses des cellules adjacentes à la plage : adresseDessous = $Feuille1.$E$22 adresseAdroite = $Feuille1.$L$17 A partir de là, on peut aisément déduire que la dernière cellule de la plage est K21 Sub cherchePlage Dim document as Object, dispatcher as Object, adresseDessous As String, adresseAdroite As String dim args1(0) as new com.sun.star.beans.PropertyValue document = ThisComponent.CurrentController.Frame dispatcher = createUnoService(com.sun.star.frame.DispatchHelper) 'rechercher cellule dessous args1(0).Name = ToPoint args1(0).Value = $E$17 dispatcher.executeDispatch(document, .uno:GoToCell, , 0, args1()) dispatcher.executeDispatch(document, .uno:JumpToNextCell, , 0, Array()) adresseDessous = thiscomponent.currentSelection.AbsoluteName 'rechercher cellule à droite args1(0).Name = ToPoint args1(0).Value = $E$17 dispatcher.executeDispatch(document, .uno:GoToCell, , 0, args1()) dim args3(1) as new com.sun.star.beans.PropertyValue args3(0).Name = By args3(0).Value = 1 args3(1).Name = Sel args3(1).Value = false dispatcher.executeDispatch(document, .uno:GoRight, , 0, args3()) adresseAdroite = thiscomponent.currentSelection.AbsoluteName End Sub Bonne journée, Michel _ De : Michel Rudelle [mailto:rudelle.mic...@gmail.com] Envoyé : mardi 13 août 2013 11:11 À : 'claude'; 'libreoffice' Objet : RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Bonjour, Ce n’est pas un problème de version et ma réponse était idiote :( En effet, elle contenait la réponse, car j’avais défini toto nommée comme E17:K21 (cellules effectivement fusionnées) La même chose en définissant le nom toto uniquement sur la première E17 ne permet pas de connaître l’étendue de la plage fusionnée et en effet, je ne trouve pas de méthode. J’ai une idée qui me trotte derrière la tête, je vais essayer dans la journée, on ne sait jamais … Bonne journée, Michel _ De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : mardi 13 août 2013 08:07 À : Michel Rudelle Cc : 'claude'; 'libreoffice' Objet : Re: RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée Message original Sujet : [INTERNET] RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée De : Michel Rudelle mailto:rudelle.mic...@gmail.com rudelle.mic...@gmail.com Pour : 'claude' mailto:pref-open-off...@haute-garonne.gouv.fr pref-open-off...@haute-garonne.gouv.fr, 'libreoffice' mailto:users@fr.libreoffice.org users@fr.libreoffice.org Date : 12/08/2013 17:57 Bonjour, De : claude
[fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour, Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la plage associée qui me donnerait la première et la dernière cellule concernée par cette fusion . J'ai juste trouvé la propriété merged ou pas !!! Merci de toute aide Claude -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
RE: [fr-users] Calc macro - Trouver plage associée à une cellule fusionnée
Bonjour, De : claude [mailto:pref-open-off...@haute-garonne.gouv.fr] Envoyé : lundi 12 août 2013 17:24 Je n'arrive pas à trouver dans les propriétés d'une cellule fusionnée la plage associée qui me donnerait la première et la dernière cellule concernée par cette fusion . J'ai juste trouvé la propriété merged ou pas !!! Essai rapide: Sub essaiToto Dim cellule As Object, objetAdresse As Object, plage as String cellule = Thiscomponent.Sheets.getByName(Feuille1).getCellRangeByName(toto) objetAdresse = cellule.RangeAddress plage = cellule.AbsoluteName End Sub toto est une plage nommée fusionnée (5x7) dans ma Feuille1 objetAdresse est l'objet qui décrit la plage et plage donne directement la chaîne (par ex: $Feuille1.$D$17:$J$21) Est-ce que ça répond ? Bonne soirée, Michel -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] Calc : Macro enregistrée et bordures
Bonjour, J'ai constaté qu'une macro enregistrée ne conservait les bordures que si on se servait de l'outil de la barre d'outils supérieure. Si on utilise le clic droit et Formater les cellules..., les bordures choisies (épaisseur, couleur...) ne sont pas enregistrées. Seul, la couleur d'arrière plan est conservée. S'agit-il d' un bug ? Configuration : LibreOffice Version 4.0.2.2 (Build ID: 400m0(Build:2)) sous LinuxMint 15 Olivia, bureau Cinnamon. Michel -- Michel ANDREU - Pays d'Auge LinuxMint 15 Cinnamon Linuxien depuis janvier 2008 -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc : Macro enregistrée et bordures
Bonjour, J'ai constaté qu'une macro enregistrée ne conservait les bordures que si on se servait de l'outil de la barre d'outils supérieure. Si on utilise le clic droit et Formater les cellules..., les bordures choisies (épaisseur, couleur...) ne sont pas enregistrées. Seul, la couleur d'arrière plan est conservée. S'agit-il d' un bug ? Configuration : LibreOffice Version 4.0.2.2 (Build ID: 400m0(Build:2)) sous LinuxMint 15 Olivia, bureau Cinnamon. Michel Bonjour, Il faudrait retrouver où je l'ai lu, mais l’Enregistreur de Macros n'enregistre pas les clics de la souris, seulement les raccourcis claviers. J.M -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc : Macro enregistrée et bordures
Le 04/08/13 12:36, Jean Michel PIERRE nous a écrit : Bonjour, J'ai constaté qu'une macro enregistrée ne conservait les bordures que si on se servait de l'outil de la barre d'outils supérieure. Si on utilise le clic droit et Formater les cellules..., les bordures choisies (épaisseur, couleur...) ne sont pas enregistrées. Seul, la couleur d'arrière plan est conservée. S'agit-il d' un bug ? Configuration : LibreOffice Version 4.0.2.2 (Build ID: 400m0(Build:2)) sous LinuxMint 15 Olivia, bureau Cinnamon. Michel Bonjour, Il faudrait retrouver où je l'ai lu, mais l’Enregistreur de Macros n'enregistre pas les clics de la souris, seulement les raccourcis claviers. J.M Bonjour, sous Mac OS 10.6.8 LibreOffice Version 4.0.4.2 (Build ID: 9e9821abd0ffdbc09cd8c52eaa574fa09eb08f2) j'ai enregistré 2 macros - avec clics sur les boutons de la barre d'outils - en utilisant la boîte de dialogue Format de cellule/Bordures Dans les 2 cas, tous les réglages sont enregistrés. -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc : Macro enregistrée et bordures
Bonjour, J'ai constaté qu'une macro enregistrée ne conservait les bordures que si on se servait de l'outil de la barre d'outils supérieure. Si on utilise le clic droit et Formater les cellules..., les bordures choisies (épaisseur, couleur...) ne sont pas enregistrées. Seul, la couleur d'arrière plan est conservée. S'agit-il d' un bug ? Configuration : LibreOffice Version 4.0.2.2 (Build ID: 400m0(Build:2)) sous LinuxMint 15 Olivia, bureau Cinnamon. Michel Bonjour, Il faudrait retrouver où je l'ai lu, mais l’Enregistreur de Macros n'enregistre pas les clics de la souris, seulement les raccourcis claviers. J.M Bonjour, sous Mac OS 10.6.8 LibreOffice Version 4.0.4.2 (Build ID: 9e9821abd0ffdbc09cd8c52eaa574fa09eb08f2) j'ai enregistré 2 macros - avec clics sur les boutons de la barre d'outils - en utilisant la boîte de dialogue Format de cellule/Bordures Dans les 2 cas, tous les réglages sont enregistrés. Sur Windows XP, je ne pouvais pas le faire avec LibO, ni OOo d’ailleurs -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc : Macro enregistrée et bordures
Bonjour, Sous Win 7, j'ai enregistré des macros avec bordures sans pb. Cordialement Mr Sandy-Pascal Andriant Le 04/08/2013 14:55, Jean Michel PIERRE a écrit : Bonjour, J'ai constaté qu'une macro enregistrée ne conservait les bordures que si on se servait de l'outil de la barre d'outils supérieure. Si on utilise le clic droit et Formater les cellules..., les bordures choisies (épaisseur, couleur...) ne sont pas enregistrées. Seul, la couleur d'arrière plan est conservée. S'agit-il d' un bug ? Configuration : LibreOffice Version 4.0.2.2 (Build ID: 400m0(Build:2)) sous LinuxMint 15 Olivia, bureau Cinnamon. Michel Bonjour, Il faudrait retrouver où je l'ai lu, mais l’Enregistreur de Macros n'enregistre pas les clics de la souris, seulement les raccourcis claviers. J.M Bonjour, sous Mac OS 10.6.8 LibreOffice Version 4.0.4.2 (Build ID: 9e9821abd0ffdbc09cd8c52eaa574fa09eb08f2) j'ai enregistré 2 macros - avec clics sur les boutons de la barre d'outils - en utilisant la boîte de dialogue Format de cellule/Bordures Dans les 2 cas, tous les réglages sont enregistrés. Sur Windows XP, je ne pouvais pas le faire avec LibO, ni OOo d’ailleurs -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc : Macro enregistrée et bordures
Le 04/08/2013 15:56, Conil26 a écrit : Bonjour, Sous Win 7, j'ai enregistré des macros avec bordures sans pb. OK ; mais de quelle manière ? Cordialement. Michel Cordialement Mr Sandy-Pascal Andriant Le 04/08/2013 14:55, Jean Michel PIERRE a écrit : Bonjour, J'ai constaté qu'une macro enregistrée ne conservait les bordures que si on se servait de l'outil de la barre d'outils supérieure. Si on utilise le clic droit et Formater les cellules..., les bordures choisies (épaisseur, couleur...) ne sont pas enregistrées. Seul, la couleur d'arrière plan est conservée. S'agit-il d' un bug ? Configuration : LibreOffice Version 4.0.2.2 (Build ID: 400m0(Build:2)) sous LinuxMint 15 Olivia, bureau Cinnamon. Michel Bonjour, Il faudrait retrouver où je l'ai lu, mais l’Enregistreur de Macros n'enregistre pas les clics de la souris, seulement les raccourcis claviers. J.M Bonjour, sous Mac OS 10.6.8 LibreOffice Version 4.0.4.2 (Build ID: 9e9821abd0ffdbc09cd8c52eaa574fa09eb08f2) j'ai enregistré 2 macros - avec clics sur les boutons de la barre d'outils - en utilisant la boîte de dialogue Format de cellule/Bordures Dans les 2 cas, tous les réglages sont enregistrés. Sur Windows XP, je ne pouvais pas le faire avec LibO, ni OOo d’ailleurs -- Michel ANDREU - Pays d'Auge LinuxMint 15 Cinnamon Linuxien depuis janvier 2008 -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc : Macro enregistrée et bordures
Le 04/08/2013 15:56, Conil26 a écrit : Bonjour, Sous Win 7, j'ai enregistré des macros avec bordures sans pb. Cordialement Mr Sandy-Pascal Andriant Le 04/08/2013 14:55, Jean Michel PIERRE a écrit : Bonjour, J'ai constaté qu'une macro enregistrée ne conservait les bordures que si on se servait de l'outil de la barre d'outils supérieure. Si on utilise le clic droit et Formater les cellules..., les bordures choisies (épaisseur, couleur...) ne sont pas enregistrées. Seul, la couleur d'arrière plan est conservée. S'agit-il d' un bug ? Configuration : LibreOffice Version 4.0.2.2 (Build ID: 400m0(Build:2)) sous LinuxMint 15 Olivia, bureau Cinnamon. Michel Bonjour, Il faudrait retrouver où je l'ai lu, mais l’Enregistreur de Macros n'enregistre pas les clics de la souris, seulement les raccourcis claviers. J.M Bonjour, sous Mac OS 10.6.8 LibreOffice Version 4.0.4.2 (Build ID: 9e9821abd0ffdbc09cd8c52eaa574fa09eb08f2) j'ai enregistré 2 macros - avec clics sur les boutons de la barre d'outils - en utilisant la boîte de dialogue Format de cellule/Bordures Dans les 2 cas, tous les réglages sont enregistrés. Merci pour l'information. As-tu modifié l'épaisseur et la couleur ? Cordialement. Michel _ Sur Windows XP, je ne pouvais pas le faire avec LibO, ni OOo d’ailleurs -- Michel ANDREU - Pays d'Auge LinuxMint 15 Cinnamon Linuxien depuis janvier 2008 -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] Calc - macro - aller à une feuille par son nom
Bonjour, Je bute sur la bonne syntaxe dans une macro (enregistrée) pour transformer le numéro de feuille en son nom véritable. Par exemple si le nom est Balance_Analytique. Extrait de la macro : rem -- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = Nr args1(0).Value = 3 dispatcher.executeDispatch(document, .uno:JumpToTable, , 0, args1()) Je sais qu'il faut utiliser GetByName mais où ? Et avec quelle bonne syntaxe. Et est-ce suffisant ? Merci par avance. Michel -- Michel ANDREU - Pays d'Auge LinuxMint 14 Cinnamon Linuxien depuis janvier 2008 -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc - macro - aller à une feuille par son nom
Le 19/07/2013 21:09, Blanchard Michel a écrit : Le 19/07/2013 17:23, Michel ANDREU a écrit : Bonjour, Je bute sur la bonne syntaxe dans une macro (enregistrée) pour transformer le numéro de feuille en son nom véritable. Par exemple si le nom est Balance_Analytique. Extrait de la macro : rem -- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = Nr args1(0).Value = 3 dispatcher.executeDispatch(document, .uno:JumpToTable, , 0, args1()) , Je sais qu'il faut utiliser GetByName mais où ? Et avec quelle bonne syntaxe. Et est-ce suffisant ? Merci par avance. Michel Bonjour Par exemple : MonDocument = ThisComponent LesFeuilles = MonDocument.Sheets '--- retrouve la cellule par son nom --- MaFeuille = LesFeuilles.GetByName(Balance_Analytique) '--- rend Balance_Analytique active MonDocument.CurrentController.ActiveSheet = MaFeuille '--- éventuellement position en A1 MaCellule = Sheet.getCellByPosition(0, 0) MonDocument.CurrentController.Select(MaCellule) A tester Cordialement Michel B. _ Merci Michel, je teste dès demain. Cordialement. Michel A. -- Michel ANDREU - Pays d'Auge LinuxMint 14 Cinnamon Linuxien depuis janvier 2008 -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Calc - macro - aller à une feuille par son nom
Le 19/07/2013 17:23, Michel ANDREU a écrit : Bonjour, Je bute sur la bonne syntaxe dans une macro (enregistrée) pour transformer le numéro de feuille en son nom véritable. Par exemple si le nom est Balance_Analytique. Extrait de la macro : rem -- dim args1(0) as new com.sun.star.beans.PropertyValue args1(0).Name = Nr args1(0).Value = 3 dispatcher.executeDispatch(document, .uno:JumpToTable, , 0, args1()) , Je sais qu'il faut utiliser GetByName mais où ? Et avec quelle bonne syntaxe. Et est-ce suffisant ? Merci par avance. Michel Bonjour Par exemple : MonDocument = ThisComponent LesFeuilles = MonDocument.Sheets '--- retrouve la cellule par son nom --- MaFeuille = LesFeuilles.GetByName(Balance_Analytique) '--- rend Balance_Analytique active MonDocument.CurrentController.ActiveSheet = MaFeuille '--- éventuellement position en A1 MaCellule = Sheet.getCellByPosition(0, 0) MonDocument.CurrentController.Select(MaCellule) A tester Cordialement Michel B. -- Michel*BLANCHARD* /5 rue de Vélantan/ *37130* Mazières de Touraine -- -- Envoyez un mail à users+unsubscr...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] CALC-Macro permettant impression liste deroulante
Bonjour, Est il possible d’imprimer toutes les variables (valuers) d’une liste déroulante mentionnée au sein d’une cellule en utilisant une macro. L’impression doit se faire valeur par valeur. Exemple si la liste deroulante comprend 15 valeurs, il faudra 15 impression avec chacune des valeurs de la liste. Pour être plus précis, dans mon classeur, en fonction de la valeur de la cellule comprenant la liste déroulante, les autres données de ma feuille de calcul changent par rapport à cette valeur. J’aimerais imprimer 1 par 1 l’ensemble des valeurs de cette liste pour obtenir les données correspondante à chaque valeur de la liste déroulante. En espérant avoir été clair dans mon explication et vous remerciant par avance de votre aide. Eimen -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] [Calc] Macro d'envoi de Mail après comparaison
Bonjour à tous, Etant complètement novice dans Calc, je m'arrache les cheveux pour créer (je pense) une simple macro. Je souhaiterai faire la chose suivante : dans le cas où une valeur dans une certaine colonne apparaîtrait comme étant égal à la date du jour, un mail serait envoyé avec la ligne ou les lignes contenant cette valeur. Aussi, intégrée à cette macro peut-être devrais-je ajouter une action écrivant dans une cellule annexe la mention OK et créer dans cette même macro une exclusion qui n'enverrait le mail qu'avec les lignes n'ayant pas OK... Ce qui m’éviterait de recevoir à chaque fois les nouvelles mais aussi les anciennes lignes. De mon coté, je pense qu'il faut faire deux macros, une pour la comparaison de cellule et une qui sera activée par la macro précédente. Soit dit en passant, je pense avoir trouvé la macro pour le mail mais je n'ai pas pu la tester... J'espère que tout çà est assez clair pour vous, car je remarque que, finalement, ce n'est pas aussi simple que çà (à mon sens) Merci par avance pour toutes l'aide que je suis sûr vous saurez m'apporter. Cédric -- View this message in context: http://nabble.documentfoundation.org/Calc-Macro-d-envoi-de-Mail-apres-comparaison-tp4011062.html Sent from the Users mailing list archive at Nabble.com. -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] [Calc-Macro] Valeur pour recopier partiellement un vecteur
Le 23/05/2011 15:44, Michel ANDREU a écrit : Bonjour, Encore très novice en programmation LibreOffice, j'ai besoin d'un conseil. Problème posé : Sur une feuille de Calc une colonne comprenant un certain nombre de valeurs (texte ou nombres). Je souhaite n'en recopier que la moitié la plus basse, sachant que la quantité de données peut varier, pour la recopier dans une autre colonne; Une cellule indique le nombre de valeurs de la colonne. ce nombre peut être pair ou impair. Je sais enregistrer une macro pour cela quand je connais le nombre de valeurs de la colonne. Mais je voudrais corriger cette macro pour prendre en compte le nombre de valeurs, variable, de la colonne. Quelle est la correction à apporter sachant que la colonne de valeurs débute en G7 et que le nombre des valeurs figure en C9. Est-ce clair ? Merci par avance Bonjour Michel, j'ai bien compris que vous écriviez une macro-commande. J'ai résolu votre problème sans Macro-commande. Ci-joint extraction2.ods Sinon dans les exemples de M. Marcilly programmation OOo il y a certainement votre bonheur. Je ne sais pas si les documents liés arrivent sur cette liste sinon écrivez moi en privé. Jacques CHAILLET -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] Re: [Résolu] [fr-users] [Calc-Macro] Valeur pour recopier partiellement un vecteur
Le 25/05/2011 10:45, Michel ANDREU a écrit : Bonjour, Jacques CHAILLET m'a adressé, personnellement puisque les fichiers joints ne sont pas admis, une feuille de calcul avec la solution à l'aide de simples formules et fonctions. Plus facile qu'avec une macro. Bonjour Michel, Ce serait sympa de poster avec l'adresse qui est abonnée à la liste. Cela m'éviterait du travail et te ferait gagner du temps en ne retardant pas la publication de tes messages. Merci JBF -- Seuls des formats ouverts peuvent assurer la pérennité de vos documents. -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [fr-users] Re: [Résolu] [fr-users] [Calc-Macro] Valeur pour recopier partiellement un vecteur
Le 25/05/2011 12:39, Jean-Baptiste Faure a écrit : Le 25/05/2011 10:45, Michel ANDREU a écrit : Bonjour, Jacques CHAILLET m'a adressé, personnellement puisque les fichiers joints ne sont pas admis, une feuille de calcul avec la solution à l'aide de simples formules et fonctions. Plus facile qu'avec une macro. Bonjour Michel, Ce serait sympa de poster avec l'adresse qui est abonnée à la liste. Cela m'éviterait du travail et te ferait gagner du temps en ne retardant pas la publication de tes messages. Merci JBF Bonjour Jean-Baptiste, Excuses-moi. Un oubli ; j'essaierais de veiller à ce que ce soit dorénavant la bonne adresse. À + -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
Re: [Résolu] [fr-users] [Calc-Macro] Valeur pour recopier partiellement un vecteur
Bonjour à tous, Voici le fichier exemple pour la résolution du problème de Michel ANDREU. http://nabble.documentfoundation.org/file/n2984926/extraction2.ods extraction2.ods Je ne sait toujours pas si cela fonctionne et me servira d'essai. A bientôt pour d'autres Pb. Jacques CHAILLET - APRIL Pour une informatique libre. www.april.org -- View this message in context: http://nabble.documentfoundation.org/Calc-Macro-Valeur-pour-recopier-partiellement-un-vecteur-tp2975352p2984926.html Sent from the Users mailing list archive at Nabble.com. -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés
[fr-users] [Calc-Macro] Valeur pour recopier partiellement un vecteur
Bonjour, Encore très novice en programmation LibreOffice, j'ai besoin d'un conseil. Problème posé : Sur une feuille de Calc une colonne comprenant un certain nombre de valeurs (texte ou nombres). Je souhaite n'en recopier que la moitié la plus basse, sachant que la quantité de données peut varier, pour la recopier dans une autre colonne; Une cellule indique le nombre de valeurs de la colonne. ce nombre peut être pair ou impair. Je sais enregistrer une macro pour cela quand je connais le nombre de valeurs de la colonne. Mais je voudrais corriger cette macro pour prendre en compte le nombre de valeurs, variable, de la colonne. Quelle est la correction à apporter sachant que la colonne de valeurs débute en G7 et que le nombre des valeurs figure en C9. Est-ce clair ? Merci par avance -- Envoyez un mail à users+h...@fr.libreoffice.org pour savoir comment vous désinscrire Les archives de la liste sont disponibles à http://listarchives.libreoffice.org/fr/users/ Tous les messages envoyés sur cette liste seront archivés publiquement et ne pourront pas être supprimés