boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

PEX

XLDnaute Occasionnel
bonjour,

nouvelle sur excel, je dois monter une macro de gestion des stock. (autre sujet sur le forum :p).

je viens solliciter votre aide afin de creer une boite de dialogue particuliere, je vous explique : (desole de ne pas connaitre tous les thermes exact, je suis une méga novice)

je vooudrais creer une boite de dialogue qui irai chercher un nom de produit sur une feuille, a coté il y aura une TexteBox pour qu'on y ajoute le nombre d'heure, [ (je suis en materiau composite, la logique veut que l'on note le nombre d'heure qu'a passer un produit a l'ambiant car a la base il est congeler) ], le tout se rapporterai
dans ma feuille ou il y a mon produit en superposant ses nouvelle donnée du style


--A-----------------------------------B------------------------------------C----------- [lettre des colones]
--
produit1
--
produit2-----------------nombre d'heure a l'ambiant----------------date du jour
--------------------------nombre d'heure a l'ambiant-----------------date du jour 2
--------------------------nombre d'heure a l'ambiant ----------------date du jour 3
--
produit3
--
produit4
--
produit5-----------------nombre d'heure a l'ambiant----------------date du jour 4
--------------------------nombre d'heure a l'ambiant-----------------date du jour 5
--------------------------nombre d'heure a l'ambiant ----------------date du jour 6
--

.... .... .... et ainsi de suite



j'aurai voulu savoir comment realiser la boite de dialogue avec le RECHERCHEVIEW(), pourtant j'ai regarder mais je n'ai pas forcement bien compris, et pour que mes resultat puisse superposer afin de mieux les voir apres quand on les filtres

en vous remerciant

celine
 
Dernière édition:

mutzik

XLDnaute Barbatruc
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

bonjour Céline,

un petit fichier exemple sans données confidentielles, et ca ira beaucoup mieux pour nous
(et avec le résultat que tu attends ...)
 

xltools

XLDnaute Junior
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

Bonjour Céline,

Pour ta recherche à partir d'un formulaire, il te suffit d'utiliser la fonction FIND avec comme attribut de recherche le contenu de ton TextBox. Dans ta procédure (Sub) de recherche, place le code suivant :

Dim Resultat As Range

Set Resultat = ThisWorkbook.Sheets("Tafeuille").Range("TaColonne:TaColonne").Find(What:=UserForm1.TextBox1.Value, LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlNext)

If Not Resultat is Nothing then
' ici tu mets ce qu'il advient si tu trouves ton élément
Else
'ici tu mets ce qu'il advient si tu ne trouves pas ton élément
End If

Pour info, Resultat est une cellule. Donc si tu veux ensuite pointer vers la ligne à laquelle figure le résultat, tu peux indiquer Resultat.Rows

Pour que tes dates s'insèrent dans des sous-lignes pour chaque produit, je te suggère de développer ton application sous forme de base de données :
- une feuille sera dédiée aux produits (reference, nom, localisation, ...)
- une feuille sera dédiée aux dates, à raison d'une ligne par date (reference_produit, nbr_heures, date)

Si tu as besoin d'aide au cours de la réalisation, n'hésite pas à nous envoyer ton fichier pour qu'on y jette un oeil.
 

PEX

XLDnaute Occasionnel
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

Bonjour Céline,

Pour ta recherche à partir d'un formulaire, il te suffit d'utiliser la fonction FIND avec comme attribut de recherche le contenu de ton TextBox. Dans ta procédure (Sub) de recherche, place le code suivant :

Dim Resultat As Range

Set Resultat = ThisWorkbook.Sheets("Tafeuille").Range("TaColonne:TaColonne").Find(What:=UserForm1.TextBox1.Value, LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlNext)

If Not Resultat is Nothing then
' ici tu mets ce qu'il advient si tu trouves ton élément
Else
'ici tu mets ce qu'il advient si tu ne trouves pas ton élément
End If

Pour info, Resultat est une cellule. Donc si tu veux ensuite pointer vers la ligne à laquelle figure le résultat, tu peux indiquer Resultat.Rows

Pour que tes dates s'insèrent dans des sous-lignes pour chaque produit, je te suggère de développer ton application sous forme de base de données :
- une feuille sera dédiée aux produits (reference, nom, localisation, ...)
- une feuille sera dédiée aux dates, à raison d'une ligne par date (reference_produit, nbr_heures, date)

Si tu as besoin d'aide au cours de la réalisation, n'hésite pas à nous envoyer ton fichier pour qu'on y jette un oeil.

je n'ai pas trop bien compris ton code au niveaud des elements a definir

je te joints le fichier complet sans donné avec ma macro et le tableau !! je pense tu comprendra car a mon avis dans mon code il y a des erreurs mais tout marche niquel

on est obliger de faire une aute feuille pour les date c'est obligatoire ? si c'est le cas peut faire comme une liaison sur cette nouvelle feuille et la feuille reference pour que tout se mettent automatiquement a jours ?

cordialement
 

Pièces jointes

  • exemple boite dialogue.xlsm
    58.6 KB · Affichages: 44

xltools

XLDnaute Junior
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

Céline,

Veux-tu rechercher par nom de produit et par nombre d'heures, les deux critères à la fois ?

Ou est-ce que le nombre d'heures est facultatif ?
 

PEX

XLDnaute Occasionnel
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

Céline,

Veux-tu rechercher par nom de produit et par nombre d'heures, les deux critères à la fois ?

Ou est-ce que le nombre d'heures est facultatif ?


juste le nom du produit ! ou au pire une autre parametre si tu em mets la ligne de code associer pour plusieur critére :)

met le produit surtout

merci ent otu cas c'est gentil de ta part de m'aider
 

xltools

XLDnaute Junior
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

Céline, essaie le fichier en pièce jointe, et dis-moi si ça te convient.
Si tu veux après on peut améliorer ensemble l'apparence de ton application.
 

Pièces jointes

  • Formulaire Recherche PRoduits.xlsm
    62.8 KB · Affichages: 56

PEX

XLDnaute Occasionnel
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

Céline, essaie le fichier en pièce jointe, et dis-moi si ça te convient.
Si tu veux après on peut améliorer ensemble l'apparence de ton application.

ce n'est pas trop sa, desole.

en faite il vaudrait mieu une liste deroulante pour trouver le nom du produit !! et quand je rentre le nombre d'heure quel saffiche dans la cellule ou tu as x H ..

je via sregarder el code pour comprendre rechercheview

merci
 

PEX

XLDnaute Occasionnel
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

maitenant que l'idee est tomber peut-on chercher un produit sur plusieur feuille de classeur ?

puis-je mieux argumenter :
Code:
 Set Resultat = ThisWorkbook.Sheets("prépreg").Range("B:B").Find(What:=TBProduit.Value, LookIn:=xlValues, SearchOrder:=xlByRows, SearchDirection:=xlNext)

ou est ce celle la

Code:
With ThisWorkbook
                For Each R In .Sheets("prépreg").Range("B1:B" & .Sheets("prépreg").Range("B:B").End(xlDown).Row)
                    If R.Value = TBProduit.Value Then
-

-----------??????

apres set resultat puis-je rajouter d'autre ligne avec ThisWorkBook.Sheets pour etendre ma recherche aux endroit voulu dans ton mon classeur excel ????

cordialement
 
Dernière édition:

xltools

XLDnaute Junior
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

Oui bien sur tu peux chercher dans plusieurs feuilles, mais alors :
- soit tu fais plusieurs boucles de recherches les unes après les autres
- soit tu fais des boucles de recherches imbriquées.
Tout dépend de ce qui relie tes feuilles les unes aux autres ...

Je comprends que le contenu de ton classeur soit ultra confidentiel :)
Mais j'ai du mal à saisir le sens de l'intitulé de tes colonnes et le contenu de toutes les feuilles que tu prévois.
 

PEX

XLDnaute Occasionnel
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

rechercheview m'aide suimplement a trouver le produit !! par contre le nombre d'heure doit se reporter sur la ligne correspond a ma recherche dans mon tableau directement !
je sais que c'est un peu complexe a expliquer et faire comprendre; il faut que la valeur nombre d'heure soit enregistrer car c'est une nouvelle donnée
 

PEX

XLDnaute Occasionnel
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

desolé pour les intitulé en claire :

dans les colones V et W doit apparaite respectivement pour V : le nombre d'heure qui aura été enregistré, pour W : la date de sortie ... (feuille prepreg )

c'est pas compliquer en soit mais le codage a mon avis aie aie.
quand les colones V et W sont rempli en fonction de mon nom de produit chercher, les info heures et date de sortie sont mise en ligne et font le format ou les heures se superpose les une en dessosu les autre !

désolé !

ps: oui c confidentiel mais il y aura les nom ( ou plutot pseudo ) des personnes qui m'auront aider sur ce projet qui depuis une semaine me prend tout mon temps :) ... ( cecie va sans dire )
 

xltools

XLDnaute Junior
Re : boite de dialogue recherchev() + donnée, -> ajout des resultat en superposition

Bonjour Céline,

Reprenons pour voir si j'ai bien compris : tu veux faire un formulaire RechercheView qui fait à la fois office de "recherche" d'un produit et de "sauvegarde" d'un nouveau nombre d'heures passées à l'air libre (renseigné dans le champs "heures" du formulaire) ?

C'est à dire qu'au moment de cliquer sur le bouton "OK", tu lances à la fois :
- l'insertion d'une nouvelle ligne dans ton tableau de la feuille "prépreg"
- et une recherche qui te rend dans ta feuille principale "Feuil1" toutes les lignes concerant le produit recherché

C'est bien ça ?

Hanane.
 

Discussions similaires

Statistiques des forums

Discussions
314 653
Messages
2 111 579
Membres
111 207
dernier inscrit
max008