Changer le caption d'un label à partir des valeurs stockées dans une feuille Exc

Résolu
cs_Skysoft Messages postés 5 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 15 avril 2008 - 14 avril 2008 à 23:49
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 15 avril 2008 à 10:32
Salut tout le monde,

Voilà quelques heures que je sèche un un problème qui me parait insoluble pourtant je suis sûr que quelqu'un à déjà trouvé une solution à ce problème.

Je travaille sur un système de questionnaire sous Powerpoint + VBA composé comme suit :
Slide 1 : Présentation et boutond e lancement du questionnaire.
Slide 2 : Tableau Excel avec toutes les questions, les options de réponse, les valeurs, ect...
Slide 3 : Feuille d'affichage du résultat.

Dans le VBA, j'ai un Form mis en page pour présenter les questions avec :
   - un Label pour afficher la question,
   - quatre OptionButton pour les options de réponse,
   - un bouton question suivante.

Mon problème est la suivant :
J'arrive à lire la contenu de l'objet Excel qui se trouve sur le Slide 2 par ActivePresentation.Slides(2).Shapes(1).OLEFormat.Object.Worksheets(1).Cells(boucle, 1).Value mais impossible d'attribuer cette valeur aussi bien à Label.Caption qu'à OptionButton1.Caption

J'ai une erreur '424' Objet requis.

Le problème est que le contrôle Label n'affiche pas les valeurs à partir de sources de données comme les feuilles Excel.

Alors comment faire ???

J'ai eu beau chercher, je n'ai trouvé aucune méthode de stockage des données de la feuille Excel qui me permette de contouner cette limitation.

Merci de votre aide.

7 réponses

pile_poil Messages postés 682 Date d'inscription vendredi 6 avril 2007 Statut Membre Dernière intervention 4 août 2012 6
15 avril 2008 à 10:12
est ce que ton code est dans la form du label ?
sinon ce n'est pas label1.caption mais taform.label1.caption
3
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 avril 2008 à 08:20
Salut,
Juste en passant, que vaut la varaible boucle lors de l'erreur?

@+: Ju£i?n
Pensez: Réponse acceptée
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 avril 2008 à 08:43
Salut,
Je viens de tester ceci et cela fonctionne

Private Sub CommandButton1_Click()
Static Boucle As Long
Boucle = Boucle + 1
Label1.Caption = ActivePresentation.Slides(2).Shapes(1).OLEFormat.Object.WorkSheets(1).Range("A" & Boucle).Text

End Sub , ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_Skysoft Messages postés 5 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 15 avril 2008
15 avril 2008 à 10:07
La variable boucle vaut 1 lors de l'erreur.

Je viens de tester ton code et j'ai la même erreur donc je ne comprends pas que ça puisse fonctionner chez toi.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 avril 2008 à 10:12
Re,
Essaie par élimination.

Est ce que ceci fonctionne

Msgbox ActivePresentation.Slides(2).Shapes(1).OLEFormat.Object.WorkSheets(1).Name

Ca devrait afficher le nom de la feuille d'incide 1

@+: Ju£i?n
Pensez: Réponse acceptée
0
cs_Skysoft Messages postés 5 Date d'inscription samedi 11 janvier 2003 Statut Membre Dernière intervention 15 avril 2008
15 avril 2008 à 10:25
Arf !!! Je me doutais que la solution était simple mais pas à ce point.

C'était bien ça, j'ai oublié qu'en objet il faut toujours détailler l'objet et donc dans ce cas; indiquer que le Label1 se trouve dans le Form.

Merci de ton aide.
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
15 avril 2008 à 10:32
Re,
Si tu estimes que ton problème est résolu, penses à appuyer sur réponse acceptée sur le OU les posts qui t'ont aider à avancer.

@+: Ju£i?n
Pensez: Réponse acceptée
0
Rejoignez-nous