[Résolu][Calc] Selection dynamique d'une plage de cellules

Discussions et questions sur tout ce qui concerne la programmation tous langages et tous modules confondus.

Modérateur : Vilains modOOs

Règles du forum
:alerte: Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
JLRAVENNE
Fraîchement OOthentifié
Messages : 3
Inscription : 16 janv. 2012 15:20

[Résolu][Calc] Selection dynamique d'une plage de cellules

Message par JLRAVENNE »

Bonjour
je voudrais avoir l'equivalent du vba suivant :
range("A1").currentRegion.name="MaPlage"

Histoire de pouvoir boucler sur cette plage.
le CTRL * s'enregistre mais en absolu...
merci de votre aide
OpenOffice 3 sous Windows 7
Avatar de l’utilisateur
Bidouille
RespOOnsable forum
RespOOnsable forum
Messages : 12684
Inscription : 08 nov. 2005 16:23
Localisation : Brest, France

Re: [Basic] Selection dynamique d'une plage de cellules

Message par Bidouille »

Bonjour,

La balise [Basic] doit être utilisée lorsque vous ne faîtes référence à aucun module en particulier. Il semble que votre problème soit lié à : Calc

Merci de modifier la balise existante dans ce cas.
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17188
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: [Basic] Selection dynamique d'une plage de cellules

Message par jeanmimi »

Bonjour,
Si je comprends bien, tu nommes une Zone "MaPlage" et tu voudrais ensuite pouvoir la sélectionner avec une Macro ?
LibreOffice : Version : 25.2.0.3 (x64)(20 février 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox
JLRAVENNE
Fraîchement OOthentifié
Messages : 3
Inscription : 16 janv. 2012 15:20

Re: [Calc] Selection dynamique d'une plage de cellules

Message par JLRAVENNE »

merci.
mais...
*
j'ai une borne. (E10, par ex)
Je veux nommer dynamiquement la plage " en cours" (definie par ligne vide / colonne vide, CTRL * d'excel)
même si je la selectionne pas, d'ailleurs (propriété name)
OpenOffice 3 sous Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26006
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Calc] Selection dynamique d'une plage de cellules

Message par Dude »

Salut,

La balise [Calc] se change dans le 1er message via le bouton "Editer".
JLRAVENNE a écrit :Je veux nommer dynamiquement la plage " en cours" (definie par ligne vide / colonne vide, CTRL * d'excel)
Ctrl + * ne permet pas de nommer une plage mais fait uniquement la sélection des cellules remplies autour de la cellule active.

Est-ce cela dont tu parles ?
JLRAVENNE a écrit :je voudrais avoir l'equivalent du vba suivant :
range("A1").currentRegion.name="MaPlage"
Tu n'auras jamais des équivalences stricts entre les deux Basic. Ce serait comme vouloir traduire un texte mot à mot.
Il faut préciser le contexte d'utilisation et ce que tu cherches à faire.
JLRAVENNE
Fraîchement OOthentifié
Messages : 3
Inscription : 16 janv. 2012 15:20

Re: [Basic] Selection dynamique d'une plage de cellules

Message par JLRAVENNE »

CONTEXTE :

En A1 d'une feuille calc, j'ai une plage de cellules définie par ligne/colonne vide (CurrentRegion).
cette plage peut avoir une taille variable ( nb de lignes) en fonction de l'import .

BESOIN :
je veux la nommer dynamiquement (je trouve ça plus simple) afin de boucler pour traitement.


merci
OpenOffice 3 sous Windows 7
Avatar de l’utilisateur
Dude
IdOOle de la suite
IdOOle de la suite
Messages : 26006
Inscription : 03 mars 2006 07:45
Localisation : 127.0.0.1

Re: [Basic] Selection dynamique d'une plage de cellules

Message par Dude »

Te serait-il possible de faire ce que l'on te demande :
Dude a écrit :La balise [Calc] se change dans le 1er message via le bouton "Editer".
Ce n'est pas pour toi mais pour tous ceux qui feront ensuite une recherche dans ce forum. :roll:
JLRAVENNE a écrit :En A1 d'une feuille calc, j'ai une plage de cellules définie par ligne/colonne vide (CurrentRegion).
cette plage peut avoir une taille variable ( nb de lignes) en fonction de l'import .
Voici un bout de code qui sélectionne la région autour de la cellule active :

Code : Tout sélectionner

Sub RegionCourante
	oDoc = ThisComponent
	oFeuille = oDoc.CurrentController.getActiveSheet
	oSelect = oDoc.CurrentController.Selection	
	oCurs = oFeuille.createCursorByRange(oSelect)
	oCurs.collapseToCurrentRegion
	oDoc.CurrentController.Select(oCurs) 
End Sub
Pour le nommage, tu as ce fil à exploiter : http://user.services.openoffice.org/fr/ ... omm%C3%A9e
Avatar de l’utilisateur
jeanmimi
Grand Maître de l'OOffice
Grand Maître de l'OOffice
Messages : 17188
Inscription : 03 mars 2006 16:02
Localisation : Venise verte

Re: [Basic] Selection dynamique d'une plage de cellules

Message par jeanmimi »

Dans le fichier joint, la Macro, activée par un clic sur le bouton, reproduit le déplacement du curseur avec les touches du clavier :
Ctrl + Origine pour ramener le curseur dans la première cellule de la feuille en haut à gauche
puis
Ctrl +Maj + Fin pour sélectionner toutes les cellules ayant un contenu
puis
Alt + I + M + D pour insérer un nom sur la plage de cellules sélectionnées

Enregistré avec l'enregistreur de Macro, il est bien possible que le code puisse être amélioré. Pour une utilisation quotidienne, plutôt qu'un bouton sur la feuille, j'insérerai plutôt une jolie icone dans la barre d'outils.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice : Version : 25.2.0.3 (x64)(20 février 2025)
Adoptium JRE ou Oracle JRE (x64), Windows 10, Thunderbird, Firefox