VBA : Pb pour lire des données sur une autre page

cardise Messages postés 11 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 17 mai 2005 - 14 juin 2004 à 15:21
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 - 16 juin 2004 à 19:49
Je fais un prog style gestion. une fenêtre apparait avec 2 combobox : l'une se remplit avec des valeurs de la feuille active (OK!) et l'autre avec des valeurs d'une autre page ( - OK )
Qd le prog remplit ( essaie ) la liste d'item, il m'affiche :
" La méthode Select de la classe Range a échoué !"

Voilà mon code :

Private Sub UserForm_Initialize()

' Ajout des éléments au ComboNumAff
' Scrutation d'un tab, recopie des éléments jusqu'à case vide (toute ligne a ses cases déjà remplies par défaut )

Worksheets(1).Range("C12").Select
Do While Not IsEmpty(ActiveCell)
ComboNumAff.AddItem ActiveCell.Value
Selection.Offset(1, 0).Select
Loop
' ça, c'est OK !

' Ajout des éléments au ComboProvenance
' idem qu'avant mais contenu ds 2 colonnes
' C'est à ce moment qu ça bloque et que ça me fait ...... !

Worksheets(2).Range("C7").Select
Do While Not IsEmpty(ActiveCell)
ComboProvenance.AddItem ActiveCell.Value
Selection.Offset(1, 0).Select
Loop

Worksheets(2).Range("D7").Select
Do While Not IsEmpty(ActiveCell)
ComboProvenance.AddItem ActiveCell.Value
Selection.Offset(1, 0).Select
Loop

End Sub

PITIE, REPONDEZ ! ( c'est mon projet de stage BTS et je connais le VBA depuis 2 semaines environ ! )

7 réponses

cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
14 juin 2004 à 17:28
utilise le générateur de code pour le faire (Clic droit dans ta fenêtre de code)

ça va te donner dequoi du genre

[Form1]![textbox]![text]
0
cardise Messages postés 11 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 17 mai 2005
15 juin 2004 à 10:22
Je me suis débloqué entre temps,
je suis parti fumer une clope et en revenant, j'ai remplacé :
Worksheets( <numéro> ).Range("C12").Select
par :
Worksheets( <nom exact de la feuille> ).Range("C12").Select

Et je ne sais pas pourquoi ça fonctionne !

Mais merci quand même dragon, tu es le seul qui m'ait répondu sur tout le site !
Pour le générateur de code, je connaissais pour mon prog, j'ai acheté exprès 2 books :
- Formation à.... VBA pour MS Word, Excel, Access ( de D.Maniez à Microsoft Press )
- Le QuickGuide Développeur_ Macros VBA ( de A.Dorseuil à Campus Press )
Et la 1ère semaine, je l'ai passée à bouquiner !

( Je raconte ma vie tout le monde s'en fout.... pas grave ! )

Voilà ! Thx !
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
15 juin 2004 à 13:18
lol, moi suis un maniaque de livre faque lol, je te comprend
0
cardise Messages postés 11 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 17 mai 2005
16 juin 2004 à 13:04
Là, maintenant j'ai d'autres Pb mais personnes n'y répond !
Je souhaitais vérifier si la saisie dans une listBox, sans le faire par scrutation dans le tableau auquel elle ( la listBox) est liée mais vu qu'il n'y a pas de réponse, je l'ai fait qd même ! n_n ça fait une sorte de flash à l'écran ( dû au changement de feuille active ) donc par feinte j'ai mis les feuilles auxiliaires en VeryHidden et avec la même couleur de fond.... voilà ! histoire de parler
Mon projet de stage BTS IRIS est de lister les affaires de l'entreprise et d'indiquer les surcoûts (retouches) de chaque production avec divers variables. A l'atelier, ils remplissent des fiches de surcoûts et au Bureau d'étude, ils ne peuvent que visualiser les retouches effectuées ou faire une recherche ( pire sous-traitant, pire affaire, moyenne des surcoûts sur une période, ......) graphe à la clé.....
Avec ça, j'ai dû apprendre le VBA car avec du C++ (ce que je fais en cours), c'est pas possible selon mon prof ! Là, je vais te dire à plus car je ne sais plus de quoi parler :D
0

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

Posez votre question
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
16 juin 2004 à 13:25
eh ... ça se fait en C++, tout comme ça se fait en java ... anyway

met ta fenêtre visible = false, puios va chercher ta valeur et remet la visible

sinon met ta valeur dans une variable puis va lire ta variable au lieu d'une form

ou encore, passe comme je t'ai dit avec le générateur de commande, à am mémoire, ça flash pas
0
cardise Messages postés 11 Date d'inscription lundi 14 juin 2004 Statut Membre Dernière intervention 17 mai 2005
16 juin 2004 à 19:41
OK thx ! moi je voulais désactiver la textBox avec Enabled = False et Backcolor = ( code de gris couleur objet 3D )
=> textBox "en grisé"
mais avec ça, c'est bon ! merci ! ^_^
et pour la variable "raccourci", j'y avais pensé mais jété trop ... pour le faire; on a 512 dr RAM et il y a encore des gars qui ont peur qu'avec leur code de 359Ko et seulement des variables temporaires, ils n'aient plus de place ! ....lol
Si tu veux, je t'enverrais mon fichier.xls... je me fous du copyright CNC ( Cardise's Naz Corp. ) .....lol ( tout seul )
0
cs_dragon Messages postés 2336 Date d'inscription samedi 14 juillet 2001 Statut Membre Dernière intervention 5 mai 2009 6
16 juin 2004 à 19:49
non pas nécessaire
si tout marche bien, tant mieux, bonne continuation
0
Rejoignez-nous