Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Probleme renvoi de cellule

  • Initiateur de la discussion Initiateur de la discussion zouille
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Z

zouille

Guest
salut forum
Voila , dans mon projet , j'ai :

En A : nom des boisson
En B : prix des boisson
En C : la quantite en stock

mon projet fonctionné bien jusqu'a ce que je demande a mon combobox ( ds USF) d'affiché les info de A mais aussi de B ( 2 colonnes visible)

Alors maintenant qd je clique sur Combobox pour selectionné une boisson , le stock ne s'affiche plus ds le textbox alors que ca fonctionné bien qd le combobox affiché que le nom de la boisson

Si qqun peut regarder mon code !!

Merci
 

Pièces jointes

Re : Probleme renvoi de cellule

Bonsoir,

Dans la procedure combo_click, remplace

ligne = ComboBox1.List(ComboBox1.ListIndex, 1) 'recupere la valeur dans la deuxieme colonne
par
ligne = ComboBox1.ListIndex +1 'recupere le n° de l'element selectionné, +1 parce que le combo commence au n° 0


Ca devrait marcher.
 
Re : Probleme renvoi de cellule

Bonsoir Zouille, Lapix, bonsoir le forum,

Je pense aussi que l'erreur vient de là mais je n'ai pas la même solution que toi Lapix. Je remplacerais ligne = ComboBox1.List(ComboBox1.ListIndex, 1), qui renvoit le prix du produit par ligne = ComboBox1.List(ComboBox1.ListIndex, 2) qui renverra le numéro de ligne stocké en troisième colonne cachée.

Édition :

Bonsoir Pierrot, on s'est croisés
 
Re : Probleme renvoi de cellule

resalut a vous


Lapix : ton info fonctionne bien, c'est bien ca mon erreur ( je ne comprend pas tout encore en vba mais ca marche.. MERCI

Robert : ton code fonctionne aussi : Merci

Quelle difference entre vos 2 code ??? ( faut que je trouve un tuto sur les combobox)

Pierrot93 : ton fichier renvois juste la ligne dans laquelle se situe la boisson et non la quantité : merci tout de meme


Par contre , l'autre textbox ( au milieu) me sert a rajouter du stock , mais meme probleme , depuis que j'ai rajouter les 2 colonne ds combobox ca fonctionne plus : Qqun a une idee ???


Enfin , comment affiche "€" a cote du prix ds mon combobox car meme si il est dans la cellule , il ne figure pas dans le combobox .


merci a toous
 
Dernière modification par un modérateur:
Re : Probleme renvoi de cellule

Re

Pour la €, dans la procedure inicombos

Completer la ligne de la facon suivante :

ComboBox1.List(ComboBox1.ListCount - 1, 1) = Format(a.Offset(0, 1), "# ##.#0\ €")


Pour ton bouton ajouter, tu peux modifier de la facon suivante aussi :

ValLig = Me.ComboBox1.ListIndex + 1
 
Re : Probleme renvoi de cellule

Pierrot93 à dit:
Re,

correction faite avec 3 colonnes visibles dans combo.

@+


merci a toi , le renvoi de la cellule fonctionne bien dans le textbox "stock"
par contre il y a un truc bizard:

qd je veux ajouter des boisson a l aide de l'autre textbox ( au milieu) ca ne fonctionne que pour OASIS , pour le scweppes, qui se trouve ligne 3 , ca le rajoute ligne 8 en enfin pour le fanta et coca , ca met un message d'erreur

Je ne comprend plus rien !!!!


ps : que veux dire :
If Not IsNull(ComboBox1) Then TextBox11 = ComboBox1

merci de ton aide
 
Re : Probleme renvoi de cellule


bon , on c'est croisé : ca fonctionne super bien
merci a tous pour votre aide

QQun saurais ou je peux trouver un tuto sur les combobox , car je suis un peu largué avec : "Me.ComboBox1.ListIndex + 1" et "Offset(0, 1)"

ce qui me pose probleme surtout , c'est le positionnement :
1,1 ou -1,1 ou 0,1 : quel est donc le repere :


merci a tous
 
Re : Probleme renvoi de cellule

Bonsoir le fil, bonsoir le forum,

Je reviens vite fait car j'ai pris le temps de lire la solution de Lapix (voir début du fil). Oui tu as raison Zouille les deux fonctionnent mais le plan de Lapix est préférable (désolé Lapix je n'avais pas bien lu la première fois...)

Je t'explique. Quand tu remplis une ComboBox/ListBox, les élément sont indexés de 0 à (Nombred'éléments -1). S'il y a huit éléments, ils sont indexés de 0 à 7. ListIndex renvoie le numéro d'index de l'élément sélectionné. Donc si tu sélectionne le 4ème élément, ListIndex renvoie 3. Si tu sais que le premier élément commence à la ligne 1 du tableau, ListIndex + 1 correpond forcément au numéro de la ligne dans le tableau . Tu n'avais donc pas besoin d'alimenter la ComboBox (colonne 3 cachée) avec le numéro de ligne de l'élément.

Mais tu l'as fait et tu voulais récupérer ce numéro de ligne qui était attribué à la troisième colonne (indexée 2 toujours pour la même raison, de 0 à 2). Malheureusement tu utilisais ComboBox1.List(ComboBox1.ListIndex, 1) qui correspondait au prix (11,5 converti en entier renvoyait 12 et Cells(12, 3) étant vide, la textbox se remplissait de vide...). Le numéro de ligne lui est stocké dans la colonne indexée 2. C'est pour ça que ma solution ComboBox1.List(ComboBox1.ListIndex, 2) fonctionne aussi.

En résumé, si tu utilises le plan de Lapix tu n'as plus besoin que de deux colonnes dans ta ComboBox et l'alimentation du número de ligne n'est pas nécessaire.
 
Re : Probleme renvoi de cellule

Bravo Robert pour l'explication,

PS : je ne te blamerais pas pour n'avoir pas bien lu ma solution car je suis le premier a faire des lectures trop rapides

Bonne soiree
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

J
Réponses
1
Affichages
2 K
M
Réponses
7
Affichages
994
manuréva
M
F
Réponses
0
Affichages
1 K
F
C
Réponses
6
Affichages
1 K
charette36
C
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…