[Résolu][Calc] Boîte de dialogue avec le texte d'une cellule

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 !

[Résolu][Calc] Boîte de dialogue avec le texte d'une cellule

Messagepar Lolo Söze » 20 Juil 2018 22:54

Bonjour,

Je débute totalement en macro, et là je galère.

Je souhaiterais que dans une boîte de dialogue apparaisse le texte contenu dans une cellule.

Pour plus de précisions :
Dans le fichier ci-joint, lorsqu'on clique sur "Tirage au sort", dans la deuxième boîte de dialogue qui s'ouvre (la première ne devrait pas apparaître dans la version finale) je souhaiterais que le texte contenu dans la cellule I2 apparaisse après le texte "élève sélectionné".

Merci par avance pour votre aide !
Pièces jointes
test-hasard élèvepar3.ods
(19.67 Kio) Téléchargé 6 fois
Dernière édition par Lolo Söze le 23 Juil 2018 15:00, édité 4 fois.
Un prof de maths curieux mais novice !
LibreOffice 6.1.0.3 (x64) - Windows 10
Lolo Söze
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 20 Juil 2018 20:22

Re: [Calc] GetCellByName, EndExecute...

Messagepar Jurassic Pork » 21 Juil 2018 11:19

hello,
Lolo Söze a écrit:Maintenant dans les faits :Tu
1) Comment afficher dans la fenêtre "AffichageEleve" le nom de l'élève contenu dans la cellule I2 à la suite du message "Elève sélectionné :" ?

Dans ta boîte de dialogue tu rajoutes un contrôle Label (avec comme nom par exemple selEleve)
Tu modifies ta procédure comme ceci par exemple :
Code : Tout sélectionner   AgrandirRéduire
Sub AfficherBoiteDialogue(eleve as String)
  DialogLibraries.LoadLibrary( "Standard" )
  'AffichageEleve est le nom de la Form (clic-droit sur l'objet / propriétés / onglet Général / Nom)
  oAffichageEleve = CreateUnoDialog( DialogLibraries.Standard.AffichageEleve )
  'Attribue un titre dans la fenêtre
  oAffichageEleve.Title = "Résultat du tirage au sort"
  'Affiche le nom de l'élève sélectionné
  oAffichageEleve.getControl("SelEleve").Text = eleve
  'Modifie la couleur de fond de la boîte de dialogue
  oAffichageEleve.Model.BackgroundColor = RGB(200,200,200)
  'Redéfinit les dimensions de la boîte de dialogue
  'oDialog1.Model.Height = 200 'Hauteur
  'oDialog1.Model.Width =200 'Largeur
  'Redéfinit les position de la boîte de dialogue à l'écran
  oAffichageEleve.Model.PositionX = 300 'Position horizontale
  oAffichageEleve.Model.PositionY = 100 'Position verticale
  'Affiche la boîte de dialogue
  oAffichageEleve.Execute()
End Sub


que tu appelles comme ceci (au lieu du print) :
Code : Tout sélectionner   AgrandirRéduire
AfficherBoiteDialogue(oDoc.Sheets("Feuille1").GetCellRangeByName("I2").String)


test-hasard élèveCalc-1.png
test-hasard élèveCalc-1.png (6.27 Kio) Consulté 141 fois


Ami calmant, J.P
LibreOffice 6.0.x sous windows 10 et linux - OpenOffice 4.1.5 sous windows 10
Avatar de l’utilisateur
Jurassic Pork
Membre hOOnoraire
Membre hOOnoraire
 
Message(s) : 168
Inscrit le : 09 Août 2017 23:15

Re: [Calc] GetCellByName, EndExecute...

Messagepar Lolo Söze » 23 Juil 2018 14:11

Jurassic Pork a écrit:hello,
Dans ta boîte de dialogue tu rajoutes un contrôle Label (avec comme nom par exemple selEleve)
Tu modifies ta procédure comme ceci par exemple


Merci beaucoup pour ces conseils. Par contre ça ne marche toujours pas. J'ai bien copié-collé ton code pour le sub "AfficherBoiteDialogue", et j'ai également modifié la ligne qui l'appelle, mais il me met le message d'erreur suivant:
Capture.JPG


Je me demande si ce n'est pas parce qu'on n'utilise SelEleve que dans cette ligne, du coup il ne faudrait pas le déclarer avant ou quelque chose dans ce style?
Pièces jointes
test-hasard élèvepar3.ods
(19.67 Kio) Téléchargé 8 fois
Un prof de maths curieux mais novice !
LibreOffice 6.1.0.3 (x64) - Windows 10
Lolo Söze
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 20 Juil 2018 20:22

Re: [Calc] Texte d'une cellule apparaisse dans boîte de dial

Messagepar Dude » 23 Juil 2018 14:37

Lolo Söze a écrit:il ne faudrait pas le déclarer avant ou quelque chose dans ce style?

La réponse est dans ta question et l'erreur facile à comprendre : le champ selEleve n'existe pas.
Si j'ouvre ton dialogue dans l'EDI, je n'y vois aucun contrôle de ce nom :
no_problemo.png

Juste un champ étiquette et deux boutons.
Ajoute donc le contrôle correspondant et tout ira mieux.
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20212
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc] Texte d'une cellule apparaisse dans boîte de dial

Messagepar Lolo Söze » 23 Juil 2018 14:45

Dude a écrit:Ajoute donc le contrôle correspondant et tout ira mieux.


J'étais justement en train de tester ça! Et ça marche! Merci beaucoup!!! :D
Un prof de maths curieux mais novice !
LibreOffice 6.1.0.3 (x64) - Windows 10
Lolo Söze
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 20 Juil 2018 20:22

Re: [Calc] GetCellByName, EndExecute...

Messagepar Dude » 23 Juil 2018 14:48

Lolo Söze a écrit:mais si maintenant pour poser une question il faut passer 3 jours à lire toutes les règles

3 jours ? Tu es de Marseille ?

Voilà encore un petit jeu pour toi :
Image
Avatar de l’utilisateur
Dude
Grand Maître de l'OOffice
Grand Maître de l'OOffice
 
Message(s) : 20212
Inscrit le : 03 Mars 2006 08:45
Localisation : 127.0.0.1

Re: [Calc] GetCellByName, EndExecute...

Messagepar Lolo Söze » 23 Juil 2018 14:59

Dude a écrit:Tu es de Marseille ?


Non, mais j'ai essayé d'être complet pour expliquer mon/mes problèmes, de joindre mon fichier, des captures... tout en essayant de bien expliquer ce que je voulais faire, tout ça afin que les gens qui souhaiteraient m'aider aient toutes les infos. Donc bien entendu avant de poster j'ai lu les règles, qui sont totalement logiques et nécessaires. Mais après, quand tu postes un message et que pour première réponse tu as un rappel à l'ordre... je comprends que je dois respecter les règles, mais je ne code qu'à titre exceptionnel, et là du coup j'ai passé presque plus de temps à lire les règles, corriger mes messages suite à vos rappels à l'ordre, plutôt qu'à continuer à chercher par moi-même des réponses à mon problème.

Dude a écrit:Image

Boulet un jour, boulet toujours!! :? Tu remarqueras que l'intention y était!
Un prof de maths curieux mais novice !
LibreOffice 6.1.0.3 (x64) - Windows 10
Lolo Söze
NOOuvel adepte
NOOuvel adepte
 
Message(s) : 18
Inscrit le : 20 Juil 2018 20:22


Retour vers Macros et API

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Google [Bot] et 11 invité(s)