Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Ouvrir un objet incorporé par une macro

2 réponses
Avatar
Coriandre
Bonjour,

Dans un classeur nommé "Général", j'ai inséré un autre classeur Excel sous
forme d'icône nommée "Image_1" sur une feuille nommée "Feuille_1".

Quand je double clique sur cette image, le classeur incorporé s'ouvre, bien
sûr.
Il se nomme (sans que je sache le nommer autrement) : "Feuille de calcul
dans Général.xls".

J'aimerais ouvrir ce classeur incorporé par une macro.

Quand j'utilise l'enregistreur de macros, j'obtiens :
----------------
Sub ouvrir_objet
Windows("Feuille de calcul dans Général.xls").Visible = True
Selection.Verb Verb:=xlPrimary
End Sub
----------------

Cette macro ensuite affectée à un bouton me renvoie le message d'erreur :
"Erreur d'exécution 9 : l'indice n'appartient pas à la sélection".
(n.b. Les classeurs ni les feuilles ne sont protégées.).

Cette macro ne fonctionne que lorsque le classeur incorporé est _déjà_
ouvert.
Elle me met simplement alors ce classeur en premier plan.

Pourriez-vous m'indiquer une macro servant à ouvrir mon classeur incorporé
dans mon classeur "Général" ?

Merci d'avance.

--
Coriandre

2 réponses

Avatar
michdenis
Bonjour Coriandre,

Essaie ceci :
'Adapte le nom de la feuille où tu as inséré le classeur,
et le nom de l'objet que tu lui as donné.

'---------------------------------------
Sub test()
With worksheets("Feuil1")
.Shapes("Objet 1").OLEFormat.Object.Verb Verb:=xlPrimary
End With
End Sub
'---------------------------------------



"Coriandre" a écrit dans le message de groupe de
discussion :
Bonjour,

Dans un classeur nommé "Général", j'ai inséré un autre classeur Excel sous
forme d'icône nommée "Image_1" sur une feuille nommée "Feuille_1".

Quand je double clique sur cette image, le classeur incorporé s'ouvre, bien
sûr.
Il se nomme (sans que je sache le nommer autrement) : "Feuille de calcul
dans Général.xls".

J'aimerais ouvrir ce classeur incorporé par une macro.

Quand j'utilise l'enregistreur de macros, j'obtiens :
----------------
Sub ouvrir_objet
Windows("Feuille de calcul dans Général.xls").Visible = True
Selection.Verb Verb:=xlPrimary
End Sub
----------------

Cette macro ensuite affectée à un bouton me renvoie le message d'erreur :
"Erreur d'exécution 9 : l'indice n'appartient pas à la sélection".
(n.b. Les classeurs ni les feuilles ne sont protégées.).

Cette macro ne fonctionne que lorsque le classeur incorporé est _déjà_
ouvert.
Elle me met simplement alors ce classeur en premier plan.

Pourriez-vous m'indiquer une macro servant à ouvrir mon classeur incorporé
dans mon classeur "Général" ?

Merci d'avance.

--
Coriandre
Avatar
Coriandre
"michdenis" a écrit dans le message de
news:
Essaie ceci :
'Adapte le nom de la feuille où tu as inséré le classeur,
et le nom de l'objet que tu lui as donné.

'---------------------------------------
Sub test()
With worksheets("Feuil1")
.Shapes("Objet 1").OLEFormat.Object.Verb Verb:=xlPrimary
End With
End Sub
'---------------------------------------




Merci !
Ca fonctionne très bien.

Ainsi que (en adaptant) cet autre code que je viens de trouver par hasard
(alors que j'avais longuement cherché avant de poser la question ici), sur
la page
http://groupes.codes-sources.com/article-recuperer-texte-word-insere-dans-feuille-excel-285982.aspx :
-------------------
Set wordObj = Worksheets("Feuil1").OLEObjects(1)
wordObj.Activate
End With
---------------------

Merci encore et bonne après-midi.

--
Coriandre