Problème de récupération de données Excel depuis un Word

xUpsilon

XLDnaute Accro
Bonjour tout le monde,

Je souhaite actuellement créer un formulaire d'options pour la boite pour laquelle je bosse, et ce formulaire récupérerait les valeurs d'un configurateur excel déjà existant.
En gros, dans le Excel se trouve une feuille "Memory" sur laquelle sont stockées en physique les 1 ou 0 en fonction des options cochées dans les checkbox du configurateur.
Bref, ce que je souhaite faire, c'est depuis le Word appeler les valeurs des cases concernées dans ma feuille "Memory" pour remplir les checkbox correspondantes dans mon formulaire word.
J'ai donc fait ce petit bout de programme mais je tombe sur une erreur 91 "Variable objet ou variable de bloc With non définie". Même en essayant de passer par différentes méthodes je finis toujours pas retomber sur cette erreur, est-ce que qqun aurait une idée ?

Ci-dessous mon code :
VB:
Sub RécupérerDansExcel()
    Dim AppXL As Excel.Application
    AppXL.Visible = True
    Dim Classeur As Excel.Workbook
    Set Classeur = AppXL.ActiveWorkbook
    Dim LaFeuille As Excel.Worksheet
    Set LaFeuille = Classeur.Sheets("Memory")
    Dim LaVariableWord As Integer
    LaVariableWord = LaFeuille.Range("J10").Value
    MsgBox (LaVariableWord)
End Sub
 

xUpsilon

XLDnaute Accro
En exécutant le pas à pas je vois que le souci vient de "AppXL.Visible = True". Pour une raison que j'ignore, il considère que AppXL n'a pas été déclarée, alors que je l'ai fait à la ligne précédente, une idée ? Peut-être que je devrais déclarer AppXL en public plutot que dans ma sub ?

En y réfléchissant, je me dis qu'il manque peut être un "Set", mais je vois pas pourquoi je devrais Set une variable qui pointe Excel.Application, ça n'a pas de sens ...
 

xUpsilon

XLDnaute Accro
Toujours pas, ça me gonfle sérieusement haha, j'ai du essayer de coder ça par 4 ou 5 manières différentes et je reviens toujours à cette foutue erreur 91 !

En exécutant en pas par pas j'arrive maintenant à une erreur 91 à cette ligne :
VB:
Set LaFeuille = Classeur.Worksheets("Memory")
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Il n'y a pas de raison qu'il y ait une quelconque connection entre l'application Excel lancée depuis Word et un classeur ouvert dans une autre fenêtre, Excel celle là. Vous devez donc l'ouvrir d'abord dans Word avec appxl dans l'état actuel des choses.
 

xUpsilon

XLDnaute Accro
Alors là, on atteint des sommets : j'ai exécuté la macro (adaptée à ma situation) 1 fois, ça me laisse qu'un seul sur les plusieurs caractère (normal, j'ai pas pensé à ajouter un & vbcrlf entre les différents caractères de mon test), du coup je rajoute ça, je relance l'essai, et là re Erreur 91. Du coup je me dis bizarre, je ferme tout, je relance la macro que j'avais écrite précédemment et je suis à nouveau bloqué sur l'erreur 91, le code ne compile plus, alors qu'il compilait il y a 30 secondes

Bon j'ai tout fermé tout relancé ça re-compile, je vais essayer de tourner autour de ce code du coup.
 

Santulud

XLDnaute Occasionnel
Je te comprend....
Je me suis cassé les dents sur un problème similaire il y a quelque temps.

A croire qu'il n'y a pas ou peu d’interfaçage depuis Word.

Mais reste confiant, il doit bien il y avoir quelqu'un sur le forum qui a la solution
 

xUpsilon

XLDnaute Accro
J'arrive à faire tourner quelques trucs, l'avantage c'est que j'ai besoin de stocker la valeur de ma cellule que une à la fois, donc je devrais réussir à compiler sans trop de soucis je pense.
Je reviens dès que j'ai réussi (ou pas)
 

Discussions similaires

Statistiques des forums

Discussions
312 196
Messages
2 086 101
Membres
103 116
dernier inscrit
kutobi87