16 messages in org.openoffice.fr.progRe: [prog] Nom de variable dynamique
FromSent OnAttachments
Michel GrentzingerNov 7, 2007 4:39 am 
Bernard MarcellyNov 7, 2007 5:19 am 
Michel GrentzingerNov 7, 2007 5:43 am 
Mathias MichelNov 7, 2007 7:26 am 
BobNov 7, 2007 9:48 am 
Michel GrentzingerNov 7, 2007 1:16 pm 
Michel GrentzingerNov 7, 2007 1:19 pm 
Mathias MichelNov 7, 2007 2:28 pm 
Michel GrentzingerNov 8, 2007 12:17 am 
BobNov 8, 2007 1:29 am 
Laurent GodardNov 8, 2007 1:41 am 
Michel GrentzingerNov 8, 2007 4:45 am 
BobNov 8, 2007 11:59 am 
Michel GrentzingerNov 8, 2007 1:06 pm 
BobNov 8, 2007 2:23 pm 
Michel GrentzingerNov 9, 2007 4:48 am 
Actions with this message:
Paste this link in email or IM:
Paste this link in email or IM:
Atom feed for this thread
Paste this URL into your reader:
Subject:Re: [prog] Nom de variable dynamiqueActions...
From:Michel Grentzinger (mic.@online.fr)
Date:Nov 7, 2007 5:43:58 am
List:org.openoffice.fr.prog

Le mercredi 7 novembre 2007 14:19, Bernard Marcelly a écrit :

Est-ce possible de créer une variable dont le nom serait obtenu dynamiquement, à l'exécution de la macro ?

Tu ne précises pas le langage utilisé, donc c'est OOoBasic. Ce n'est pas possible sans acrobatie (comme la bibliothèque dynamique de Xray), et cela ne simplifiera pas la compréhension et la mise au point de ton programme.

La réponse de Laurent au message cité est très probablement la réponse adéquate à ton problème. En d'autres termes, réfléchis sur une solution utilisant des tableaux. Ou une autre solution comme un Select Case. Trouver une bonne solution, c'est là où le programmeur doit faire preuve de créativité.

Et oui mais ma créativité a des limites, d'aurant plus que je ne suis pas programmeur... ;-)

Pour l'instant, je définis un objet oZoneDonnees contenat une plage de cellule Calc hormis l'en-tête : ============================================== oZoneDonnees = oDocument.CurrentController.Selection

Tableau = oZoneDonnees.DataArray

sMessage = "Course " & sNomFeuille & " : "

For Ligne = LBound(Tableau) to Ubound(Tableau) uneLigne = Tableau(Ligne) sMessage = sMessage & uneLigne(0) & ". " & uneLigne(1) & " " & uneLigne(2) "_ (" & uneLigne(3) & ") " Next Ligne

print sMessage =====================================================

Hors cerrtaines colonnes de cette plage seront ammenées à être inversées ou à être supprimées donc ma solution actuelle n'est pas fiable car uneLigne(2) va renvoyer un contenu inadapté... Je souhaite donc utiliser l'en-tête des colonnes (Rang, Nom, Prénom, Date) au lieu du numéro... Par exemple sMessage = uneLigne(Colonne_Nom) avec Colonne_Nom contenant le numéro de la colonne dont l'en-tête contient "Nom".

Je sèche avec les tableaux... Quelqu'un peut-il me mettre sur la bonne piste ?

PS : je cherche une telle solution "rapide" car je dois traiter 8 tableaux de 100 lignes x 10 colonnes...