Bonjour
Merci beaucoup pour cette réponse très complète. Je ne manquerai pas de
revenir vers vous si je m'en sors pas.
Bon après midi à tous
Le lun. 9 juil. 2018 01:11, cfourcroy <cfourcroy@free.fr> a écrit :
Bonjour,
Je voudrais ajouter quelques  précisions pour les personnes qui viennent
du VBA Excel
   - L'équivalent strict de Cells (qui, au passage, n'est pas une
   fonction mais une collection d'objet) est oCell =
   oSheet.GetCellByPosition(0, 0)  (oCell = oSheet.GetCellRangeByPosition(0,
   0)  fonctionne aussi mais, normalement, on obtient l'équivalent d'un objet
   Range VBA)
   - La numérotation des lignes et des colonnes commence à 0 et non à 1
   - Les coordonnées sont sous la forme Colonne,ligne et non ligne
   colonne  -> GetCellByPosition(2,1) représente C2 (et non A2)
   - Ne pas confondre la propriété Value de VBA (qui donne un contenu de
   type Variant) et Value du Basic LO (qui donne un contenu de type numérique
   strict)
   - Une dernière chose assez subjective : c'est vrai que c'est souvent
   moins long à écrire en VBA mais ça donne de très mauvaises habitudes.. en
   VBA aussi, on devrait définir le classeur, la feuille.. etc, ça donne un
   code plus solide.  ;)
Christian F
Le 08/07/2018 à 22:30, Jean-Francois Nifenecker a écrit :
Bonjour Philippe,
Le 08/07/2018 à 21:46, demande_aide_fr@libreoffice.org a écrit :
Dans Calc, j'aimerai récupérer le contenu d'une cellule dans une macro
(C'est la fonction cells sur Excel).
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.
Pour accéder à une cellule d'une feuille il faut connaître la feuille.
Dim oSheet As Object
Dim oCell As Object    'l'objet cellule recherché
Dim MaValeur As Double    'les différentes valeurs possibles
Dim MaChaine As String    '(selon la situation)
Dim MaFormule As String
'on récupère l'objet feuille
oSheet = ThisComponent.Sheets.getByName("Feuille1")
'récupérer l'objet cellule
'1. à partir de son nom. ex : "A1"
oCell = oSheet.GetCellRangeByName("A1")
'2. à partir de ses coordonnées. ex : 0, 0 pour A1 (X = 0, Y = 0 ; valeurs
indexées à partir de 0)
oCell = oSheet.GetCellRangeByPosition(0, 0)
'3. à partir d'une cellule nommée. ex : A1 est nommée "MaCellule"
oCell = oSheet.GetCellRangeByName("MaCellule")
'Une fois l'objet cellule récupéré, on accède au contenu de la cellule
' par :
MaValeur  = oCell.Value        'si valeur numérique
MaChaine  = oCell.String    'valeur texte (existe dans tous les cas)
Maformule = oCell.Formula    'si formule
En espérant avoir aidé.
Bien cordialement,
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
 Garanti
sans virus. www.avast.com
<https://www.avast.com/sig-email?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient>
<#m_2749433094690938676_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
-- 
Envoyez un mail à users+unsubscribe@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
Context
   
 
  Privacy Policy |
  
Impressum (Legal Info) |
  
Copyright information: Unless otherwise specified, all text and images
  on this website are licensed under the
  
Creative Commons Attribution-Share Alike 3.0 License.
  This does not include the source code of LibreOffice, which is
  licensed under the Mozilla Public License (
MPLv2).
  "LibreOffice" and "The Document Foundation" are
  registered trademarks of their corresponding registered owners or are
  in actual use as trademarks in one or more countries. Their respective
  logos and icons are also subject to international copyright laws. Use
  thereof is explained in our 
trademark policy.