Comment afficher un userform Excel depuis word

3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013 - 22 oct. 2008 à 17:44
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013 - 24 oct. 2008 à 23:01
Bonjour, lorsque je suis dans word je souhaite afficher le userform qui se trouve deja dans excel.

Je pense qui faut que je crée un object pour Excel:
Public Applixls As Object

Puis je l'appel grace a la fonction GetObject (mais je sais pas commet)

Puis un truc du genre:
Applixls.userform1.show

Avez-vous une idée?

3dflix

4 réponses

bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
22 oct. 2008 à 19:46
Salut,

Dim Applixls As Object, MonWBK As Object
Set
Applixls = GetObject(, "Excel.Application") 'ici on essaye de recuperer une session excel existante

If Nothing Is
Applixls Then 'si pas de process excel en cours
    Set
Applixls = CreateObject("Excel.Application") 'on lance excel

    Set
MonWBK =
Applixls.Workbooks.Open(c:\blablabla...xls)

else
    On Error Resume Next
    Applixls.
Workbooks("blablabla...xls).Activate
    if not err = 0 then

        Set MonWBK =
Applixls.Workbooks.Open(c:\blablabla...xls)
    else
        set
MonWBK = Applixls.
ActiveWorkbook
    End if
End if

MonWBK.Userform1.Show

Voila j'ai pas testé mais cela devrait etre quelque chose comme ça

A+
0
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013
23 oct. 2008 à 12:56
Merci BigFish.

ok pour tout le code.
Sauf pour le : MonWBK.Userform1.show

Malheureusement il semblerait que les userforms ne soient pas dans le Workbook.

Zut....

3dflix
0
bigfish_le vrai Messages postés 1835 Date d'inscription vendredi 13 mai 2005 Statut Membre Dernière intervention 20 novembre 2013 15
24 oct. 2008 à 03:32
Salut,

ce que tu pourrais faire c'est de creer une petite sub routine dans ton fichier excel pour afficher le userform du style :

Sub AfficherForm ()
    Load Userform1
    Userform1.Show
End Sub

et dans word si on reprend ce qui a deja ete fait:

Dim Applixls As Object, MonWBK As Object

Set Applixls = GetObject(, "Excel.Application") 'ici on essaye de recuperer une session excel existante

If Nothing Is Applixls Then 'si pas de process excel en cours
    Set Applixls = CreateObject("Excel.Application") 'on lance excel
    Set MonWBK = Applixls.Workbooks.Open(c:\blablabla...xls)
else
    On Error Resume Next
    Applixls.Workbooks("blablabla...xls).Activate
    if not err = 0 then
        Set MonWBK = Applixls.Workbooks.Open(c:\blablabla...xls)
    else
        set MonWBK = Applixls.ActiveWorkbook
    End if
End if
Applixls.Run "AfficherForm"

Cette fois j'ai teste et cela fonctionne
0
3dflix Messages postés 43 Date d'inscription dimanche 9 mars 2003 Statut Membre Dernière intervention 20 février 2013
24 oct. 2008 à 23:01
Je confirme, tu as réussi!
Mais voila qu'un nouveau probleme apparait!

En réalité j'execute le userform Excel depuis Catia V5 (Conception 3d assistée par ordinateur) avec une macro en vbscript.
Donc ça fonctionne aussi sauf que j'ai besoin de mettre le parametre ShowModal du userform a false. Et quand je fais ça le VBS affiche le userform poursuit son chemin (puisque jsuis en non modal). la macro VBS ce termine et là ça ferme mon userform... ??? c'est normal? ça fait pas ça avec Excel et Word.
3dflix
0
Rejoignez-nous