récupérer grace à une zone de liste des infos d'un autre classeur

  • Initiateur de la discussion nicole
  • Date de début
N

nicole

Guest
Salut à tous

je suis complètement stréssée, ai un boulot urgent à rendre à mon boss today.
je dois trouver le moyen de récupérer des éléments provenant d'un classeur A, les mettre dans une zone de liste faisant partie d'un formulaire d'un classeur B puis en cliquant sur un élément de la liste envoyer l'information de la 2ème colonne vers la cellule d'une autre page de ce classeur B.
 
D

Dan

Guest
Bonjour,

Bon peu difficile sans fichier. J'ai quelques questions :

- Est-ce que les éléments à récupérer du classeur A sont sous forme de liste ?
- Dans le classeur B, est-ce que le formulaire est une User form ou est-ce simplement une feuille (que tu nommes formulaire) et dans laquelle tu récupéres tes données du classeur A.
- Est-ce que l'information que tu dois placer dans la 2ème colonne est celle de la liste ou une autre autre calculée

Dans l'attente de te lire

Dan
 
A

aurelien

Guest
tu devrai deja faire une liaison entre tes deux classeurs pour recuperer tes information du classeur A vers la classeur B dans une feuille A par exemple
ensuite tu crée un formulaire de saisie et tu cree dedant une zone de liste que tu peut nommer "liste"

'à l'ouverture du formulaire, met à jour les différentes zones de liste par:

Private Sub UserForm_Initialize()


'numéro de la ligne dans la feuille ou se trouve le debut de la liste que tu veu recupérer (qui s'appelle feuille1)
e = 1

'permet de créer la liste de choix

While (Worksheets("feuille 1").Cells(e, 1) <> "")
liste.AddItem (Worksheets("feuilleA").Cells(e, 1))
e = e + 1
Wend


ensuite du creer un bouton pour valider ta saisie (que tu nomme "bouton")avec le code suivant:

Sub bouton_Click()

'on recherche la première ligne vide de la feuilleB afin de copier les données saisies dans le formulaire (boucle)

i = 2
'on commence a chercher dans la deuxieme ligne la première ligne qui est vide pour remplir les informations, a supposer que tu ai des en tête de colone, puis on les saisie dans la deuxième colonne

While Sheets("feuilleB").Cells(i, 1) <> ""

i = i + 1
Wend

'on copie les données dans la case correspondant a la colonecolonne
Worksheets("feuille").Cells(i, 2) = liste

voila je sais pas si c'est clair car je suis alé vite...
 
N

nicole

Guest
merci dan et aurelien

les infos se trouvent dans un tableau excel sur une feuille du classeur A
la zone de liste (listbox) dans un formulaire du classeur B
l'info a renvoyer dans une cellule d'une autre feuille du classeur B sera récupérée lorsque je cliquerai sur un élément de la zone de liste

exemple la zone de liste affiche une colonne de nom et une colonne de numéros je voudrais cliquer et envoyer le numéro correspondant dans une cellule du classeur B
 
A

aurelien

Guest
ok je me suis un peu emballé ...
apparement tu n'as pas utilisé un userform que tyu rpogramme avec VBA mais un simple contrôle inséré directement dans une feuille excel
il y a dans les propriété de ta zone de liste un champ nommé "cellule lié" ; tu à juste a entrer la référence de ta cellule dans lequel tu veux renvoyé ta valeur...
je sais pas si ca repond mieux et plus simplement à ta question ...
c'et oujours tres dur de travailler sans le fichier...
 

Discussions similaires

Statistiques des forums

Discussions
312 502
Messages
2 089 051
Membres
104 013
dernier inscrit
VELONDAHY Mickaël