Exécuter macros - identifier variables dans excel intégré (OLEobject)

  • Initiateur de la discussion Initiateur de la discussion Nico93
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Nico93

XLDnaute Nouveau
Bonjour,

Je ne suis pas ancien dans le monde de la VBA mais il se trouve que je me suis lancé dans un projet assez simple qui aujourd'hui devient un peu copmpliqué à finaliser. Je me permets donc de vous solliciter pour obtenir un peu d'aide.

Le projet était le suivant :
- intégrer un template excel à l'intérieur des formats de RDV par défaut du calendrier Outlook, sous la forme d'une fiche de renseignements à remplir lors de la prise des RDV téléphoniques.
- faire en sorte que ces fiches rappatrient automatiquement les données de l'utilisateur, stockées dans une BDD excel, lorsque l'on tape son nom. Cette partie est OK mais il a déjà fallu ruser pour utiliser la fonction rechercheV correctement (en fait j'ai fait des équivalences de noms de zones).
- mettre en place un mécanisme de vidage via bouton vers une autre feuille de la BDD, et un système d'incrémentation à mesure que les informations de la fiche dans le planning sont complétées.

C'est cette partie qui me pose problème. Autant pour les fonctionnalités liées à Excel j'ai pu trouver des contournement, autant pour la macro c'est nettement plus compliqué, à mon niveau en tout cas.

En gros, quand j'ouvre l'objet incrusté dans le template, il ne reconnait pas les autre feuilles excel, donc telworkbook.activate ne fonctionne pas, activesheet et activeworkbook ne fonctionne pas, et le nom du fichier (Feuille de calcul dans message sans titre) ne fonctionne pas non plus. Donc je ne peux pas déclarer de variables liées au fichier incrusté.

Voilà la seule interaction entre les deux feuilles que j'ai réussi à faire (et encore parfois ça me marche pas) :

Code:
Sub create()
Range("C8:C10").Copy
Range("A35:C35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
Range("E8:E10").Copy
Range("D35:F35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
Range("C4").Copy
Range("G35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
Range("E4").Copy
Range("H35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
Range("C14:C16").Copy
Range("I35:K35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
Range("E15:E16").Copy
Range("L35:M35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
Range("B20:B22").Copy
Range("N35:P35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=True
Range("C20:E20").Copy
Range("Q35:S35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Range("B23").Copy
Range("T35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Range("B26").Copy
Range("U35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Range("B27").Copy
Range("V35").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Range("A35:V35").Copy Workbooks("BASE.xlsx").Sheets("OP").Cells(65535, 1).End(xlUp)(2)
'Windows("TEST2.xlsx").Activate
'Sheets("Feuil1").Cells(65535, 1).End(xlUp)(2).Select
'Activesheet.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

Les trois dernières lignes c'était des bouts de mon code que j'avais testé sur deux autres fichiers de test. Ca marchait parfaitement entre deux fichiers Excel classiques, mais là avec le feuillet incrusté ça bloque direct...

Est-ce que vous pouvez m'aider svp? Je vous mets en PJ mes deux fichiers test qui marchaient parfaitement, ainsi que le template final (qui est encore en xlsx mais que j'ai réussi à convertir en xlsm dans une version de test, pour rappel ici il s'agit d'un .docx mais en réalité il sera au final sur un format outlook) sur lequel je devrai transposer le code...

Merci d'avance....

Nico
 

Pièces jointes

Dernière édition:
Re : [XL 2010] Exécuter macros - identifier variables dans excel intégré à un .doc ou

Bonjour,

Alors après plus de recherche, j'ai compris qu'il s'agissait de classes spéciales, OLEobject ou je ne sais quoi. Je vais faire quelques tests avec des exemples que j'ai vu ça et là, même si ça ne correspond pas tout à fait à ma situation.
Si un âme charitable voulait bien m'aider à avancer ça serait sympa. Merci d'avance.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
547
Réponses
2
Affichages
281
Réponses
17
Affichages
1 K
  • Question Question
Microsoft 365 Erreur de format
Réponses
5
Affichages
491
Retour