Bonsoir
Ou passée tout court...
Dans Main, on récupère l'objet cellule qui correspond à A1 (.getCellByPosition
ou .getCellRangeByName) et on passe l'objet en paramètre :
Sub Main
Dim oCell As Object
oCell = thisComponent.Sheets(0).getCellByPosition(0,0)
LaMacro(oCell)
End Sub
Le sub (ou la fonction) appelé récupère l'objet cellule et on a accès aux
propriétés/métodes/etc... classiques, entre autres .String ou .Value :
Sub LaMacro(oCellParam)
oCellParam.String = "Voili, voilou"
' ou oCellParam.Value = 10
End Sub
Cordialement
> From: [email protected]
> To: [email protected]
> Subject: RE: [fr-users] Obtenir l'adresse d'une cellule passée en paramètre à
> une macro
> Date: Mon, 11 Nov 2013 11:11:10 +0100
>
> Bonjour,
>
>
> > -----Message d'origine-----
> > De : PierreM [mailto:[email protected]]
> > Envoyé : dimanche 10 novembre 2013 21:29
> > À : [email protected]
> > Objet : [fr-users] Obtenir l'adresse d'une cellule passée en paramètre à
> > une macro
> >
> > Bonjour,
> >
> > Je cherche à développer une macro qui a besoin de modifier des cellules
> > passées en paramètre à l'appel de la macro comme une fonction dans une
> > cellule : =mafonction(A1)
> >
> > A chaque fois, j'obtiens la valeur de la cellule A1, pas moyen d'obtenir
> > A1.
> >
> > J'ai lu que c'était impossible :
> >
> > https://wiki.openoffice.org/wiki/Documentation/OOo3_User_Guides/Calc_Guide
> > /Passing_arguments_to_a_macro
> >
> > Ce document date un peu, cela a peut être changé depuis, mais je n'arrive
> > pas à trouver.
> >
> > Merci pour vos suggestions
>
> C'est tout à fait possible, l'argument doit être passé comme String qui sera
> ensuite utilisé dans la fonction pour définir l'objet Cellule qui a pour
> adresse cette chaîne:
>
> Par exemple:
> Si l'argument est adCellule, la cellule visée est trouvée par:
>
> Cellule=ThisComponent.Sheets.GetByName("Feuille1").GetCellRangeByName(adCell
> ule)
>
> C'est-à-dire si adCellule = "a1", Cellule sera bien la cellule
> $Feuille1.$A$1
>
> Bonne journée,
> Michel
>
>
> --
> Envoyez un mail à [email protected] 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 à [email protected] 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