

![]() | Start a set with this search |
![]() | Include this search in one of my sets |
![]() | Exclude this search from one of my sets |
![]() | Permalink to these results Paste this link in email or IM: |
| Atom feed for tracking future search results Paste this URL into your reader: |
5 messages in org.openoffice.fr.progRe: [prog] Calc : changer la casse av...| From | Sent On | Attachments |
|---|---|---|
| superfan | Oct 12, 2005 9:26 am | |
| c.ma...@univitis.fr | Oct 12, 2005 11:12 pm | |
| Bernard Marcelly | Oct 13, 2005 2:17 am | |
| pac | Oct 13, 2005 3:20 am | |
| Bernard Marcelly | Oct 13, 2005 5:52 am |

![]() | Permalink for this message Paste this link in email or IM: |
![]() | Permalink for this thread Paste this link in email or IM: |
| Atom feed for this thread Paste this URL into your reader: |
| Subject: | Re: [prog] Calc : changer la casse avec macro | Actions... |
|---|---|---|
| From: | pac (pasc...@free.fr) | |
| Date: | Oct 13, 2005 3:20:10 am | |
| List: | org.openoffice.fr.prog | |
Bernard Marcelly a écrit :
Bonjour superfan, Message du 2005-10-12 18:27:
1° lorsque le mot (minuscule) passe en majuscule les accents n'apparaissent pas dans la cellule, alors même qu'ils apparaissent dans la barre de calcul et sur l'aperçu avant impression (ils apparaissent aussi lorsque l'on double clic dans la cellule). Cela est-il normal, comment faire pour qu'ils apparaissent dans la feuille calc ?
J'ai fait un petit essai. Le changement apparaît dans Calc. Sans doute un problème dans ta macro.
2° cette macro fonctionne uniquement lorsque l'on se positionne dans une cellule (j'utilise CurrentSelection dans la macro), j'aimerai faire en sorte que si l'on sélectionne plusieurs cellules la manip fonctionne aussi. Comment faire ?
J'ai regardé dans le livre de B. Marcelly au sujet des zones mais j'avoue que cela me parait un peu obscur.
Oui, c'est complexe. Et encore plus pour balayer toutes les cellules dans les différents cas de sélection. En gros, il faut créer une énumération sur l'objet sélection, ce qui permet d'énumérer les zones. Pour chaque zone qui est une simple cellule, pas de problème. Pour chaque vraie zone il faut faire un .queryContentCells avec les bons arguments, et à partir de l'objet obtenu créer une énumération et s'en servir pour énumérer les cellules de chaque zone. Il y a un exemple d'énumération (sur un autre sujet) dans l'exemple du bas de la page 194. Si tu y arrives, ce serait intéressant que tu proposes la macro pour le site fr.openoffice.fr
Bonne journée Bernard
N' y aurrait-il pas confusion entre les différents types de zone qui sont indiqués par exemple p 290 de Programmation OOo et les NamedRanges ? Pour moi superfan, parle des différents type de zone, personnellement, je ferrais ainsi :
Sub MaMacro(Selection as Object) if Selection.supportsService("com.sun.star.sheet.SheetCellRanges") then for x = 0 to Selection.Count - 1 MaMacro(Selection(x)) next elseif Selection.supportsService("com.sun.star.table.Cell") then ' Ici ta macro sur une seule cellule else for x = 0 to Selection.RangeAddress.EndColumn - Selection.RangeAddress.StartColumn for y = 0 to Selection.RangeAddress.EndRow - Selection.RangeAddress.StartRow MaMacro(Selection.getCellByPosition(x,y)) end if End Sub
Si tu peux faire ta macro sur plusieurs cellules en même temps, la troisième partie est inutile.
Les zones nommées (NamedRanges) qui sont avec plusieurs zones, c'est sûr que c'est vraiment pas facile d'utilisation quand la méthode .ReferredCells ne marche pas.
Pascal.







