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

[Résolu]
Signaler
Messages postés
5
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
15 avril 2008
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
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

Messages postés
682
Date d'inscription
vendredi 6 avril 2007
Statut
Membre
Dernière intervention
4 août 2012
6
est ce que ton code est dans la form du label ?
sinon ce n'est pas label1.caption mais taform.label1.caption
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Juste en passant, que vaut la varaible boucle lors de l'erreur?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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
Messages postés
5
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
15 avril 2008

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.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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
Messages postés
5
Date d'inscription
samedi 11 janvier 2003
Statut
Membre
Dernière intervention
15 avril 2008

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.
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
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