| Encore merci fxbrg !
bon we !</ita>
De rien, idem :-)
<Ita>(par contre, j'ai du mal à suivre certains tuto open office pour créer les btes de dialog...)
Sans peine, ce serait même pas drôle!! lol Ceci dit, regarde les versions de oOo utilisées dans les tutos, souvent ils sont faits avec une versioin 1.x, et les menus ont beaucoup changé (par exemple, pour affecter la macro à une action du document, avant c'était dans Outils/Adaptation, alors que maintenant c'est dans Outils/Personnaliser... si tu n'as pas été confronté au problème, tu risques pas de l'inventer!! lol
Bon week-end again, à bientôt si besoin,
JF Répondre à Fxbrg | 20 verveine, le 13 mar 2008 à 12:10:01Bonjour fxbrg !
J'ai cru bien faire de lancer un nouveau sujet sur le bouton "fermer" pour demander de l'aide concernant la commande "close" ou "exit" au bouton. N'ayant aucune réponse à mon post, je reviens là demander si tu pouvais m'aider pour celà.
Voilà, on est toujours dans ma macro contrôle qualité. Comme je me suis aperçu que les boutons "ok" "annuler" n'ont aucune fonction attachée à leur présence sur la boîte de dialogue, je les ai enlevés. En revanche, j'aurais voulu que le bouton "fermer" puisse servir à fermer la boîte de dialog au lieu de recourir à la croix. Et, je n'ai pas trouvé cette commande dans le tuto.
Toi ou qq pourrait-il m'aider à déclarer ce bouton dans ma macro et à écrire un ligne de commande ?
Merci d'avance,
verveine Répondre à verveine | 21 Fxbrg, le 13 mar 2008 à 14:33:42Salut Verveine!
Tu peux remettre ici le code de ta macro?
Have fun!!
:-) Répondre à Fxbrg | 22 verveine, le 13 mar 2008 à 16:27:32Voici le code tel que je l'ai posté :
Sub AutoControle_Saisie
Dim oDialog As Object, oPDialog As Object
Dim oRetourOui As Object, oRetourNon As Object
Dim oTxt As Object
DialogLibraries.LoadLibrary("Standard")
oDialog = DialogLibraries.Standard.Dialog1
oPDialog = CreateUnoDialog(oDialog)
'
oTxt = oPDialog.getControl("Label1")
oTxt.Text = "Les éléments à vérifier :"
'
oPDialog.setTitle("AUTO CONTROLE QUALITE")
'
oPDialog.Execute()
End Sub
et voici la commande d'origine du tuto que j'ai adaptée pour mon document :
1. Sub QuestionAugmentation
2. Dim oDialog As Object, oPDialog As Object
3. Dim oRetourOui As Object, oRetourNon As Object
4. Dim oTxt As Object
5.
6. DialogLibraries.LoadLibrary("Standard")
7. oDialog = DialogLibraries.Standard.Dialog1
8. oPDialog = CreateUnoDialog(oDialog)
9. '
10. oTxt = oPDialog.getControl("Label1")
11. oTxt.Text = "Voulez-vous être augmenté ?"
12. oRetourOui = oPDialog.getControl("CommandButton1")
13. oRetourOui.Label = "OUI"
14. '
15. oRetourNon = oPDialog.getControl("CommandButton2")
16. oRetourNon.Label = "NON"
17. '
18. oPDialog.setTitle("Petit test")
19. '
20. oPDialog.Execute()
21. End Sub
Comme vous avez pu constater, j'ai enlevé les lignes sur les deux boutons "oui" et "non pour le motif évoqué.
Merci d'avance pour ton aide.
Verveine Répondre à verveine | 24 Fxbrg, le 13 mar 2008 à 16:39:15Hello!
Il suffit qur ta boite de dialog, tu ajoutes un bouton, tu lui donnes le label "Fermer" et le type de bouton OK ou Annuler. En cliquant dessus, comme il n'y a rien d'associé, ça ferme la boite et c'est tout...
Have fun!!
:-) Répondre à Fxbrg | 25 verveine, le 13 mar 2008 à 16:49:31Merci fxbrg pour ta réponse rapide !
J'ai déjà fait l'essai de mettre un bouton "fermer" mais il ne m'a rien fermé du tout.
Voici l'un des tests pour la déclarer le bouton "fermer" sans résultat :
Sub AutoControle_Saisie
Dim oDialog As Object, oPDialog As Object
Dim oRetourOui As Object, oRetourNon As Object
Dim oRetourFERMER As Object
Dim oTxt As Object
DialogLibraries.LoadLibrary("Standard")
oDialog = DialogLibraries.Standard.Dialog1
oPDialog = CreateUnoDialog(oDialog)
'
oTxt = oPDialog.getControl("Label1")
oTxt.Text = "Les éléments à vérifier :"
oRetourFermer = oPDialog.getControl("CommandButton2")
oRetourFermer.Label = "FERMER"
'
oTxt = oPDialog.getControl("Label1")
oTxt.Text = "Les éléments à vérifier :"
'
oPDialog.setTitle("AUTO CONTROLE QUALITE")
'
oPDialog.Execute()
End Sub
Ne faut-il pas affecter une fonction à ce bouton comme celle pour oPDialog qui a pour fonction la création d'une boîte de dialog "CreateUnoDialog(oDialog)" ? Et la fonction fermer, en code c'est quoi ? (close ? exit ?)
verveine Répondre à verveine | 26 Fxbrg, le 13 mar 2008 à 22:25:37Re...:-)
Tu n'as pas du déclarer ton bouton correctement dans ta boite de dialogue... Sur la boite, clic droit sur le bouton, propriétés, puis dans Général, descends dans la lite et change le type de bouton "Standard" (par défaut) pour "annuler"
Ferme la boite des propriétes, reviens sur le code du module, passe en mode test, et vois ce qui se passe... Ici ça marche!! lol
Regarde le fichier exemple ci-joint :
http://www.cijoint.fr/cjlink.php?file=cj200803/cij10721510927225.odt
Have fun!!
:-) Répondre à Fxbrg | 27 verveine, le 15 mar 2008 à 10:51:23Salut JF !
J'étais bien occupée et n'ai pas pu revenir te lire avant ce matin !
Super JF ! j'ai testé ce que tu as dit et c'est ok ! J'avais pas vu qu'il fallait déclarer dans Propriétés - "type de bouton" pour qu'il soit actif.
Voilà maintenant j'ai ma boîte de dialog qui fonctionne parfaitement.
Encore merci et passe un bon we !
Je reviendrai sûrement demander de l'aide, si tu veux bien une prochaine fois. En attendant, j'ai d'autres boulots qui m'attendent....
salut ! ...:) !
verveine Répondre à verveine | 28 Fxbrg, le 15 mar 2008 à 11:45:44No problemo!
Have fun!!
:-) Répondre à Fxbrg | 29 verveine, le 22 mar 2008 à 11:12:15Salut fxbrg !
Es-tu là ?
Si oui, voici ma nouvelle question :
j'ai créé une macro dans un classeur calc et j'ai voulu affecté un événement à cette macro (affichage d'une bte de dialog après enregistrer sous), mais une fois tout enregistré mon classeur et ma macro - je ne l'ai pas retrouvée à la réouverture du classeur !
J'ai repris le code utilisé sur le doc writer pour écrire ma macro, à savoir déclaration des boutons et le texte pour l'affichage du message de la boite de dialog.
Mon classeur est enregistré en .xls, est-ce celà qui n'a pas marché ?
Merci d'avance.
verveine Répondre à verveine | 30 Fxbrg, le 26 mar 2008 à 00:01:11Hello!!
Désolé, j'étais busy :-)
Si tu n'as pas trouvé la solution à ton problème, merci de me mettre un petit fichier exemple...
A plus tard,
Have fun!!
:-) Répondre à Fxbrg |
| 31 verveine, le 26 mar 2008 à 22:46:49Salut, fxbrg !
C'est sympa de revenir ici me répondre ! merci !
Enfin, j'ai trouvé la solution mais qui ne s'applique qu'à mon fichier calc. Dès l'instant où je passe à excel, ma macro ne marche plus. Elle a disparu tout bonnement.
Pour une application plus durable de ma macro, ce serait intéressant de coder par un langage accepté par excel.
On peut reprendre l'exemple simple du précédent code :
Sub Test_compatibilite
Dim oDialog As Object, oPDialog As Object
Dim oRetourOui As Object, oRetourNon As Object
Dim oTxt As Object
DialogLibraries.LoadLibrary("Standard")
oDialog = DialogLibraries.Standard.Dialog1
oPDialog = CreateUnoDialog(oDialog)
'
oTxt = oPDialog.getControl("Label1")
oTxt.Text = "N'oubliez pas de suivre les instructions !"
oRetourOui = oPDialog.getControl("CommandButton1")
oRetourOui.Label = "OUI"
'
oRetourNon = oPDialog.getControl("CommandButton2")
oRetourNon.Label = "NON"
'
oPDialog.setTitle("Petit test")
'
oPDialog.Execute()
End Sub
merci,
verveine
(ps : afin de respecter les règles du forum, ce serait peut-être mieux de créer un nouveau sujet ?) Répondre à verveine |
| 32 Fxbrg, le 27 mar 2008 à 12:44:18Salut Verveine!
Effectivement ce serait mieux de créer un nouveau fil... mais il n'existe pas, à ma connaissance, de possibilité de lire une macro oOo avec Excel (VBA donc) ni l'inverse, les deux langages sont trop différents... C'est, hélas, une limite du passage de MSOffice à oOo... Ton fichier doit être lu par les deux logiciels impérativement?
Have fun!!
:-) Répondre à Fxbrg |
| 33 verveine, le 27 mar 2008 à 22:55:54Salut fxbrg !
Non pas forcément, car j'espère et conseille les utilisateurs de télécharger tjours le modèle pour préparer leur doc. Partant d'un fichier calc ils me le rendront en xls. De cette façon, ils auront à chq fois vu mes macros s'exécuter.
J'ai été voir dans développez.com, il semble y avoir des moyens (assez lourds pour les initiés) de coder de façon à ce que la conversion soit faite (un exécutable qui scan les code à télécharger -je te passerai les liens).
J'ai su que c'est normal mon pb après avoir posté ma quesion et vu qu'il y en avait déjà d'autres semblables de posées ici même.
voir les explications du site dans le :
"V. Déclencher une macro Open Office depuis Excel"
http://silkyroad.developpez.com/VBA/PiloterOpenOffice/#LV
Il faut que je retrouve le site où j'ai vu qu'on peut télécharger un exécutable pour passer du langage vba ooo vers excel (ou vise versa)
A +
merci fxbrg ! :-) Répondre à verveine |
|
|
|
|
|
|
|
|
|
|