Récupérer la valeur de cellules Excel et affectation à des TextBox

matfouc Messages postés 9 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 17 octobre 2006 - 15 juil. 2005 à 22:20
matfouc Messages postés 9 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 17 octobre 2006 - 16 juil. 2005 à 10:01
Bonjour, débutant en VBA sous Excel, je souhaite développer un soft de
gestion de collection de timbres. Mais pour l'instant je bloque à
récupérer des valeurs contenues dans les cellules d'une feuille nommée
Collection et à les appliquer à la valeur de plusieurs Textbox
contenues dans une MultiPage1.

Voici le code écrit dans mon unique UserForm :



Public Sub Selection_Timbre()

txtConsultCat1.Value = Worksheets("Collection").Range("A2").Value

txtConsultCat1avch.Value = Worksheets("Collection").Range("H2").Value

txtConsultCat1obl.Value = Worksheets("Collection").Range("N2").Value

txtConsultSujet.Value = Worksheets("Collection").Range("D2").Value

cmbConsultCategorie.Value = Worksheets("Collection").Range("Q2").Value



End Sub



L'erreur générée est une erreur d'exécution 9. "L'indice n'appartient pas à la sélection."

Dois-je activer d'abord ma feuille et comment ou bien un truc plus simple ?

Merci pour vos réponses.

Matthieu

5 réponses

Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
15 juil. 2005 à 22:37
Si je ne me trompe pas, ton code ne se trouve pas sur la feuille "Collection".
Rajoute juste avant, la commande :
worksheets("Collection").activate
puis remet ton code.
Ca devrait suffir.

Molenn
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
15 juil. 2005 à 22:47
Bonsoir,

Si ton code se trouve dans un module (comme celà doit-être), tu mets



Sub Selection_Timbre()

UserForm1. txtConsultCat1.Text = Worksheets("Collection").Range("A2").Value

End Sub



Dans le code d'un bouton (ou autres)



Private Sub CommandButton1_Click()

Selection_Timbre

End Sub



jpleroisse
0
matfouc Messages postés 9 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 17 octobre 2006
15 juil. 2005 à 23:07
En fait j'ai toujours la même erreur en ayant rajouté Worksheets("Collection").Activate comme ceci :



Private Sub Selection_Timbre()

Worksheets("Collection").Activate

txtConsultCat1.Value = Worksheets("Collection").Range("A2").Value

txtConsultCat1avch.Value = Sheets("Collection").Range("H2").Value

End Sub



ainsi que ce code qui lance la procédure Selection_Timbre lorsqu'on clique sur le 2ème onglet de ma multipage :



Private Sub MultiPage1_Change()

If MultiPage1.Value = 1 Then

Selection_Timbre

End If

End Sub



Je précise que tout ce code est écrit dans la page Code de ma UserForm qui s'appelle ColTim et non dans un module séparé.



merci de vos premières réponses
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
16 juil. 2005 à 00:01
Bonsoir,

Je viens d'essyé ton code, il fonctionne très bien.Ce n'est pas TextBox.Value, mais .Text



Private Sub Selection_Timbre()

'Worksheets("Collection").Activate (tu n'es pas obliger d'activer la feuille)

txtConsultCat1.Text = Worksheets("Collection").Range("A2").Value

txtConsultCat1avch.Text = Sheets("Collection").Range("H2").Value

End Sub



Private Sub MultiPage1_Change()

If MultiPage1.Value = 1 Then

Selection_Timbre

End If

End Sub



jpleroisse
0

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

Posez votre question
matfouc Messages postés 9 Date d'inscription jeudi 7 juillet 2005 Statut Membre Dernière intervention 17 octobre 2006
16 juil. 2005 à 10:01
Merci encore, je viens de comprendre mon erreur. En fait lorsque je faisais :

Worksheets("Collection").Range("A2").Value , la feuille que j'appelais
Collection avait bien pour propriété (Name) "Collection" mais pour la
propriété Name (sans parenthèse) sa valeur était "Collection de France".

J'ai rectifié cette erreur et maintenant tout marche.

Merci beaucoup



Matthieu
0