[Calc]Création et utilisation de tableau.
Modérateur : Vilains modOOs
Règles du forum
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 !
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 !
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
[Calc]Création et utilisation de tableau.
Bonjour,
Je fais encore un simulateur.
Pour stoker et mélanger des données, j'ai besoin de les mettre en tableau.
Mon ordi a qqs problèmes car souvent une macro fonctionne et un autre jour elle ne fonctionne plus, puis elle fonctionne à nouveau, au "hasard" des allumage de l'ordi, donc la mise au point est assez laborieuse.
Je débute en programmation, je ne connais que des bases en basic, mais c'est encore une occasion d'apprendre.
Mon tableau :
? 1 2 3 4 5 6 7 8
A
B.....P
C
D
...H
En vrai il contiendra 64 valeurs.
J'ai besoin de le créer, de le remplir et de l'enregistrer pour réutilisation ou partage.
Ensuite je veux pouvoir récupérer mon P en demandant B3
Merci d'avance.
Je fais encore un simulateur.
Pour stoker et mélanger des données, j'ai besoin de les mettre en tableau.
Mon ordi a qqs problèmes car souvent une macro fonctionne et un autre jour elle ne fonctionne plus, puis elle fonctionne à nouveau, au "hasard" des allumage de l'ordi, donc la mise au point est assez laborieuse.
Je débute en programmation, je ne connais que des bases en basic, mais c'est encore une occasion d'apprendre.
Mon tableau :
? 1 2 3 4 5 6 7 8
A
B.....P
C
D
...H
En vrai il contiendra 64 valeurs.
J'ai besoin de le créer, de le remplir et de l'enregistrer pour réutilisation ou partage.
Ensuite je veux pouvoir récupérer mon P en demandant B3
Merci d'avance.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- RespOOnsable forum
- Messages : 9251
- Inscription : 28 août 2010 08:45
Re: [Calc]Création et utilisation de tableau.
Bonjour,
Pour être aidé efficacement veuillez :[b][color=#404080]didier-56[/color][/b] a écrit :une macro fonctionne et un autre jour elle ne fonctionne plus
- publier le code de la macro exposant le problème
- joindre un classeur explicatif avec les données de départ (feuille1) et le résultat à obtenir.
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
Bonjour,
j'ai pas commencé car "array" ne produit pas de résultat visible. Enfin rien que j'arrive à voir.
Ma config et tout ça c'est en pied de message.
Didier
j'ai pas commencé car "array" ne produit pas de résultat visible. Enfin rien que j'arrive à voir.
Ma config et tout ça c'est en pied de message.
Didier
Dernière modification par didier-56 le 11 janv. 2018 09:26, modifié 1 fois.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- RespOOnsable forum
- Messages : 9251
- Inscription : 28 août 2010 08:45
Re: [Calc]Création et utilisation de tableau.
Bonjour,
J'ajoute que les deux produits, OOo et LibO sont obsolètes, et qu'il serait temps de les mettre à jour.
[b][color=#404080]didier-56[/color][/b] a écrit :Ma config et tout ça c'est en pied de message.
Je répète ma question (que j'ai dû effacer par erreur dans mon message précédent) : Sur laquelle des deux configuration travaillez-vous ?votre signature a écrit :libreOffice 5.2.3.3 sous Windows 7 edition intégrale
mais aussi OpenOffice 3.2 oracle sous Ubuntu 10.04 LTS le Lynx Lucide
J'ajoute que les deux produits, OOo et LibO sont obsolètes, et qu'il serait temps de les mettre à jour.
Alors fournissez au moins un ébauche de classeur et expliquez ce que vous voulez exactement car le titre de votre sujet est par trop général. Il faudra penser à le changer pour qu'il reflète votre problème.[b][color=#404080]didier-56[/color][/b] a écrit :j'ai pas commencé
Touche Ctrl de Windows = touche cmd⌘ sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
Outils > Options sur Windows = OpenOffice > Préférences sur Mac
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
J'ai commencé avec ubuntu, mais cet aprem je vais essayer winmachin pour voir si ça bogue moins.
Là c'est un programme que je veux utilisable sur linux, mais pour la mise au point winmachin devait mieux fonctionner sur ma précédente réalisation puisque je l'avais choisi.
Là c'est un programme que je veux utilisable sur linux, mais pour la mise au point winmachin devait mieux fonctionner sur ma précédente réalisation puisque je l'avais choisi.
Dernière modification par didier-56 le 13 janv. 2018 10:45, modifié 1 fois.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc]Création et utilisation de tableau.
Bonjour,
Voici un exemple :
Tu trouveras quantité d'exemples sur le forum : https://forum.openoffice.org/fr/forum/s ... d%5B0%5D=8.
Cordialement.
Voici un exemple :
Code : Tout sélectionner
sub main
nb_lignes = 9
nb_colonnes = 9
nom = "montableau"
'on définit quelques valeurs
dim donnees(nb_lignes-1)
for n = 0 to ubound(donnees)
donnees(n) = dimarray(nb_colonnes-1)
next n
for n = 1 to 8
donnees(0)(n) = n
donnees(n)(0) = chr(64+n)
next n
donnees(2)(3) = "P"
' on crée le tableau
cree_tableau(nb_lignes, nb_colonnes, donnees)
end sub
sub cree_tableau(lignes, colonnes, optional donnees)
doc = thiscomponent
T = doc.Text
tableau = doc.createInstance("com.sun.star.text.TextTable")
tableau.initialize(lignes, colonnes)
T.insertTextContent(T.End, tableau, False)
if not ismissing(donnees) then
tableau.setDataArray(donnees)
end if
print tableau.getCellByName("D3").String
end sub
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
Merci ,
pour l'instant ça bloque sur : T = doc.Text, v° message d'erreur sur capture.
Je vais regarder tes liens, merci.
pour l'instant ça bloque sur : T = doc.Text, v° message d'erreur sur capture.
Je vais regarder tes liens, merci.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- SuppOOrter
- Messages : 1214
- Inscription : 06 avr. 2016 07:26
Re: [Calc]Création et utilisation de tableau.
Je n'avais pas vu la balise Calc .
Du coup précise peut-être ce que tu souhaites, parce qu'une feuille de tableur est en soi un tableau.
Cordialement.
Du coup précise peut-être ce que tu souhaites, parce qu'une feuille de tableur est en soi un tableau.
Cordialement.
AOOo 4.1.7 sur Win10
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
AOOo 4.1.x sur Linux Mint
LibreOffice 5.x/6.x sur Linux Mint
--
▼ | « Nos défauts devraient nous donner une qualité : l'indulgence pour les défauts des autres » (Rivarol)
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
Déja ton truc marche sur un doc texte, je suis émerveillé. Jusqu'à maintenant, je n'utilisais que des tableurs et des fonctions.
Mon ordi est en panne, c'est la mauvaise semaine, dès que je peux je teste ton programme avec ce que j'ai commencé.
Je ne sais comment exprimer ma joie.
Mon ordi est en panne, c'est la mauvaise semaine, dès que je peux je teste ton programme avec ce que j'ai commencé.
Je ne sais comment exprimer ma joie.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- RespOOnsable modération
- Messages : 3949
- Inscription : 06 oct. 2008 08:03
Re: [Calc]Création et utilisation de tableau.
Bonjour et bienvenue sur le forum,
Est-ce une erreur, un choix, un oubli, une obligation ?
Dans ce dernier cas, mentionnez-le dans votre signature par "Obligation de version".
Pour connaître la version que vous possédez : https://forum.openoffice.org/fr/forum/v ... 582#p11582
Nous vous invitons à vous mettre à jour de la dernière version : https://forum.openoffice.org/fr/forum/v ... m.php?f=38.
Votre signature doit comporter :
1- La version exacte de AOO ou LibO (AOO 4.1.2, LibO 5.1.5 par exemple) ;
2- La version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Ubuntu 14.04, MacIntel 10.11.6, par exemple).
Accès direct à votre signature pour la corriger.
Cordialement.
Votre signature indique que vous disposez d'une version de OpenOffice qui n'est plus maintenue.votre signature a écrit : mais aussi OpenOffice 3.2 oracle sous Ubuntu 10.04 LTS le Lynx Lucide
Est-ce une erreur, un choix, un oubli, une obligation ?
Dans ce dernier cas, mentionnez-le dans votre signature par "Obligation de version".
Pour connaître la version que vous possédez : https://forum.openoffice.org/fr/forum/v ... 582#p11582
Nous vous invitons à vous mettre à jour de la dernière version : https://forum.openoffice.org/fr/forum/v ... m.php?f=38.
Votre signature doit comporter :
1- La version exacte de AOO ou LibO (AOO 4.1.2, LibO 5.1.5 par exemple) ;
2- La version exacte du système d'exploitation (Windows XP SP3, Vista SP2, Windows 7 SP1, Win 8.1, Win 10, Ubuntu 14.04, MacIntel 10.11.6, par exemple).
Accès direct à votre signature pour la corriger.
Cordialement.
Pour tout savoir sur le fonctionnement de ce forum À lire avant tout !
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
Bonjour grnd chef,
d'après mon installateur, je ne peux pas mettre un linux plus récent.
d'après mon installateur, je ne peux pas mettre un linux plus récent.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- RespOOnsable modération
- Messages : 3949
- Inscription : 06 oct. 2008 08:03
Re: [Calc]Création et utilisation de tableau.
Étonnant au vu de votre capture écran :
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Pour tout savoir sur le fonctionnement de ce forum À lire avant tout !
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
Je surf sur un ordi public.
Et le mien est en panne alors j'essaie ici.
Et le mien est en panne alors j'essaie ici.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Calc]Création et utilisation de tableau.
Bonjour
Pas forcément tout compris.
Pour en revenir au tableur, un petit exemple.La macro est exécutée à la modification du contenu de la cellule J2
A+
Pas forcément tout compris.
Pour en revenir au tableur, un petit exemple.
didier-56 a écrit :En vrai il contiendra 64 valeurs.
je veux pouvoir récupérer mon P
en demandant B3
Code : Tout sélectionner
Sub main(oEv as Object)
If oEv.CellAddress.Column = 9 And oEv.CellAddress.Row = 1 Then
maFeuille = thisComponent.Sheets(oEv.CellAddress.Sheet)
maZone = maFeuille.getCellRangeByName("A1:H8")
'Renseignement des données
For n = 0 to 7
For i = 0 To 7
maFeuille.getCellByPosition(n,i).String = chr(66 + i + n)
Next i
Next n
'Recherche de la valeur sélectionnée dans la liste de validité
Recherche = maZone.createSearchDescriptor
With Recherche
.SearchString = oEv.String
.SearchWords = True
End With
trouv = maZone.findAll(Recherche)
oRanges = thisComponent.createInstance("com.sun.star.sheet.SheetCellRanges")
For x = 0 To trouv.Count -1
oRanges.addRangeAddress(trouv(x).RangeAddress, True)
Next
'Sélection de la ou des valeurs
thisComponent.currentController.select(oRanges)
'ou afffichage de la valeur de la cellule B3
Print maFeuille.getCellRangeByName("B3").String
End If
End Sub
A+
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
Bonjour Hubert lambert,
La suite
J'ai transformé tes subs en Fonctions, v° Doc en PJ, ça marche un peu mais "Doc.Text" ne convient pas car c'est un document "calc".
Et j'arrive pas à récupérer le tablô en fin de fonction.
Je vais aussi modifier un peu pour avoir nb_col différent de nb_lignes, mais ça je maîtrise.
Merci de ton aide.
Suite
Bonjour,
j'ai fais un nouvel essai qui marche un peu, j'ai encore des problèmes à résoudre, mais ya une erreur dans ma macro "Cree_grille" : Au 1er passage de la boucle "I", tout va bien, au second passage, "Melanger" est appelé sans le paramètre "ref". Alors ça plante ! V° Jeu 1
Je ne vois pas l'erreur, merci à ceux qui ont la vue plus perçante.
Saluton à todos.
La suite
J'ai transformé tes subs en Fonctions, v° Doc en PJ, ça marche un peu mais "Doc.Text" ne convient pas car c'est un document "calc".
Et j'arrive pas à récupérer le tablô en fin de fonction.
Je vais aussi modifier un peu pour avoir nb_col différent de nb_lignes, mais ça je maîtrise.
Merci de ton aide.
Suite
Bonjour,
j'ai fais un nouvel essai qui marche un peu, j'ai encore des problèmes à résoudre, mais ya une erreur dans ma macro "Cree_grille" : Au 1er passage de la boucle "I", tout va bien, au second passage, "Melanger" est appelé sans le paramètre "ref". Alors ça plante ! V° Jeu 1
Je ne vois pas l'erreur, merci à ceux qui ont la vue plus perçante.
Saluton à todos.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par didier-56 le 18 déc. 2017 10:35, modifié 1 fois.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
Bonjour,
pour créer des jeux, j'ai créé 2 macros :
l'une sort un caractère au hasard dans une liste (tirer_carte)
l'autre mélange une liste de caractères. (mélanger)
Si ça peut servir à quelqu'un.
pour créer des jeux, j'ai créé 2 macros :
l'une sort un caractère au hasard dans une liste (tirer_carte)
l'autre mélange une liste de caractères. (mélanger)
Si ça peut servir à quelqu'un.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille
-
- NéOOphyte
- Messages : 195
- Inscription : 23 août 2016 09:28
Re: [Calc]Création et utilisation de tableau.
Bonjour,
pour l'instant j'ai un nombre (de 0 à 9999) à mémoriser par canton, nommé de "aa" à "zz". Ce nombre est lu par "Memoire_Lire" et modifié par "Memoire_Ecrire" dans ma variable "" qui contient "ae0000ad0000ac0000ab0000aa0722".
Mais je vais avoir besoin de plus de paramètres (début : de 000 à 999, fin : de 000 à 999, position : de 000 à 999, vitesse : de 00 à 99 ou une lettre]) et peut-être une ou 2 autres valeurs. Ce qui donne par exemple Memoire = aa00602601655ab02704700080ac04806805380
Donc il me faudrait une fonction lecture et une fonction écriture pour chaque paramètre.
Au contraire, si " Memoire" est un tablô avec des lignes "aa", "bb", etc. et des colonnes "début", "fin", etc., il serait possible de lire ou de modifier (début; aa) (fin; cc) etc. directement, ce qui me semble plus léger et plus rapide.
Pourquoi je veux stocker mes valeurs dans une variable de type "tableau" plutôt que dans les cellules de mon tableur ?
Le problème c'est que quand j'avais mis chaque valeur ou formule dans une cellule, chaque modification d'une cellule déclenchait le recalcul de toutes les valeurs et donc une seule action sur F9 déclenchait le système autant de fois qu'il y a de cantons sur la page. (C'est ce que j'ai fais au début, ça marchait très bien jusqu'à ce que je mette plusieurs "cantons" dans mon simulateur. C'est pour ça que j'ai utilisé des variables globales -que mes différentes macros peuvent se partager et s'échanger- car ça ne déclenche pas de recalculs intempestif.
Salut, didier.
pour l'instant j'ai un nombre (de 0 à 9999) à mémoriser par canton, nommé de "aa" à "zz". Ce nombre est lu par "Memoire_Lire" et modifié par "Memoire_Ecrire" dans ma variable "" qui contient "ae0000ad0000ac0000ab0000aa0722".
Mais je vais avoir besoin de plus de paramètres (début : de 000 à 999, fin : de 000 à 999, position : de 000 à 999, vitesse : de 00 à 99 ou une lettre]) et peut-être une ou 2 autres valeurs. Ce qui donne par exemple Memoire = aa00602601655ab02704700080ac04806805380
Donc il me faudrait une fonction lecture et une fonction écriture pour chaque paramètre.
Au contraire, si " Memoire" est un tablô avec des lignes "aa", "bb", etc. et des colonnes "début", "fin", etc., il serait possible de lire ou de modifier (début; aa) (fin; cc) etc. directement, ce qui me semble plus léger et plus rapide.
Pourquoi je veux stocker mes valeurs dans une variable de type "tableau" plutôt que dans les cellules de mon tableur ?
Le problème c'est que quand j'avais mis chaque valeur ou formule dans une cellule, chaque modification d'une cellule déclenchait le recalcul de toutes les valeurs et donc une seule action sur F9 déclenchait le système autant de fois qu'il y a de cantons sur la page. (C'est ce que j'ai fais au début, ça marchait très bien jusqu'à ce que je mette plusieurs "cantons" dans mon simulateur. C'est pour ça que j'ai utilisé des variables globales -que mes différentes macros peuvent se partager et s'échanger- car ça ne déclenche pas de recalculs intempestif.
Salut, didier.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
LibreOffice 7.1.7.2 (x64) sous Windows 10 famille