kinders59
XLDnaute Nouveau
Bonjour tout le monde,
Je suis en train de réaliser un fichier qui sera envoyé à des fournisseurs (qui vont remplir les onglets pour le moment masqués) mais qui sera aussi utilisé par moi et potentiellement dans le futur d'autres personnes de l'entreprise (pour ajouter des données dans les onglets visibles).
J'ai réalisé un UserForm dans mon onglet "Données" qui s'ouvre lorsque je clique sur le bouton "Ajouter des données", dans ce UserForm j'ai plusieurs liste déroulante modifiable et c'est là que je commence déjà à me perdre.
Je voudrais que mes listes déroulantes soit en cascade et donc recherche mes valeurs déjà présentes dans mes différents onglets.
- Pour la première liste déroulante N° Fournisseur je viens rechercher mes données dans la colonne A de l'onglet "Données"
- Pour la seconde liste, le fournisseur dépend du n° fournisseur comme on peut le voir dans la colonne B de l'onglet "Données"
- Pour ma troisième liste, ma matière correspond au fournisseur et se situe dans l'onglet "Matière"
- Enfin ma dernière liste, l'épaisseur dépend du fournisseur et de la matière et se situe dans l'onglet Epaisseur
J'ai réussis dans mes onglets à faire le rapprochement via des formules comme celle-ci (qui me permet de retrouver l'épaisseur en fonction de la matière et du fournisseur) :
=DECALER(Epaisseurs!$A$2;1;EQUIV(Généralités!$B$2&" "&Généralités!$A10;Epaisseurs!$2:$2;0)-1;NBVAL(DECALER(Epaisseurs!$A$2;1;EQUIV(Généralités!$B$2&" "&Généralités!$A10;Epaisseurs!$2:$2;0)-1;100;1));1)
Mais je ne sais pas comment le reproduire en VBA ...
Ensuite vient le plus gros des problèmes j'aimerais pouvoir proposer l'ajout et la modification de données par mon userform
C'est à dire que potentiellement la personne pourrait rentrer toutes les données elle même et cliquer sur le bouton "Ajouter" , dans ce cas :
- Mon numéro de four viendrait s'ajouter à la liste en colonne A dans l'onglet "Données" à la suite des autres bien-sûr
- Mon fournisseur s'ajouterait dans la colonne B dans l'onglet "Données" à la suite des autres (en sachant qu'il doit être à côté de son numéro de four)
- Ainsi que dans l'onglet "Matière" sur la ligne 2 à la suite des autres : S'il s'agit d'un nouveau fournisseur
- Ma matière viendrait s'ajouter dans l'onglet "Matière" elle doit s'ajouter sous le fournisseur associé
- Dans mon onglet "Epaisseur" si nous avons un nouveau fournisseur, il doit être ajouté ligne 2 avec sa matière associée (par exemple : j'ai rempli dans le formulaire Fournisseur : G et matière : Compact) alors en ligne 2 à la fin de ceux déjà présent j'ai "G Compact" qui s'ajoute, et en dessous j'ai mon épaisseur qui vient s'ajouter aussi par rapport à ce que j'ai ajouté dans mon UserForm.
Bien évidemment, j'aimerais qu'il soit possible d'ajouter une donnée que sur un paramètre, par exemple :
Je souhaite ajouter la matière Bambou sur mon fournisseur B et avec une épaisseur de 20 (car la matière n'est pas encore présente)
Du coup, je sélectionne mon numéro de four qui va s'associer au fournisseur B j'ai donc mes deux premières combobox qui sont existantes, ensuite dans matière je rentre "Bambou" et dans épaisseur "20"
Du coup, lorsque je click sur "Ajouter"
- J'ai ma matière "Bambou" qui vient s'ajouter sous la colonne du fournisseur B dans l'onglet "Matière"
- J'ai la création d'une colonne "B Bambou" et l'ajout de l'épaisseur 20 dans mon onglet "Epaisseurs"
Si maintenant je souhaite n'ajouter qu'une épaisseur avec un fournisseur et une matière déjà présente alors je sélectionne dans mon userform les bonnes données pour :
- N° Fournisseur / Fournisseur / Matière
Puis je rentre moi même une épaisseur dans le cadre : Epaisseur
Alors dans l'onglet Epaisseur vient s'ajouter sous le bon fournisseur/matière (présent en ligne 2) ma nouvelle épaisseur.
Je ne sais pas si je suis assez compréhensible dans mon besoin, je maitrise encore assez mal le UserForm et donc je ne suis même pas sûr que ce que je veux faire et possible alors voilà je jette une bouteille à la mer afin d'avoir de l'aide et savoir si quelqu'un sera m'aider
Bonne journée à tous et merci d'avance !!
Je suis en train de réaliser un fichier qui sera envoyé à des fournisseurs (qui vont remplir les onglets pour le moment masqués) mais qui sera aussi utilisé par moi et potentiellement dans le futur d'autres personnes de l'entreprise (pour ajouter des données dans les onglets visibles).
J'ai réalisé un UserForm dans mon onglet "Données" qui s'ouvre lorsque je clique sur le bouton "Ajouter des données", dans ce UserForm j'ai plusieurs liste déroulante modifiable et c'est là que je commence déjà à me perdre.
Je voudrais que mes listes déroulantes soit en cascade et donc recherche mes valeurs déjà présentes dans mes différents onglets.
- Pour la première liste déroulante N° Fournisseur je viens rechercher mes données dans la colonne A de l'onglet "Données"
- Pour la seconde liste, le fournisseur dépend du n° fournisseur comme on peut le voir dans la colonne B de l'onglet "Données"
- Pour ma troisième liste, ma matière correspond au fournisseur et se situe dans l'onglet "Matière"
- Enfin ma dernière liste, l'épaisseur dépend du fournisseur et de la matière et se situe dans l'onglet Epaisseur
J'ai réussis dans mes onglets à faire le rapprochement via des formules comme celle-ci (qui me permet de retrouver l'épaisseur en fonction de la matière et du fournisseur) :
=DECALER(Epaisseurs!$A$2;1;EQUIV(Généralités!$B$2&" "&Généralités!$A10;Epaisseurs!$2:$2;0)-1;NBVAL(DECALER(Epaisseurs!$A$2;1;EQUIV(Généralités!$B$2&" "&Généralités!$A10;Epaisseurs!$2:$2;0)-1;100;1));1)
Mais je ne sais pas comment le reproduire en VBA ...
Ensuite vient le plus gros des problèmes j'aimerais pouvoir proposer l'ajout et la modification de données par mon userform
C'est à dire que potentiellement la personne pourrait rentrer toutes les données elle même et cliquer sur le bouton "Ajouter" , dans ce cas :
- Mon numéro de four viendrait s'ajouter à la liste en colonne A dans l'onglet "Données" à la suite des autres bien-sûr
- Mon fournisseur s'ajouterait dans la colonne B dans l'onglet "Données" à la suite des autres (en sachant qu'il doit être à côté de son numéro de four)
- Ainsi que dans l'onglet "Matière" sur la ligne 2 à la suite des autres : S'il s'agit d'un nouveau fournisseur
- Ma matière viendrait s'ajouter dans l'onglet "Matière" elle doit s'ajouter sous le fournisseur associé
- Dans mon onglet "Epaisseur" si nous avons un nouveau fournisseur, il doit être ajouté ligne 2 avec sa matière associée (par exemple : j'ai rempli dans le formulaire Fournisseur : G et matière : Compact) alors en ligne 2 à la fin de ceux déjà présent j'ai "G Compact" qui s'ajoute, et en dessous j'ai mon épaisseur qui vient s'ajouter aussi par rapport à ce que j'ai ajouté dans mon UserForm.
Bien évidemment, j'aimerais qu'il soit possible d'ajouter une donnée que sur un paramètre, par exemple :
Je souhaite ajouter la matière Bambou sur mon fournisseur B et avec une épaisseur de 20 (car la matière n'est pas encore présente)
Du coup, je sélectionne mon numéro de four qui va s'associer au fournisseur B j'ai donc mes deux premières combobox qui sont existantes, ensuite dans matière je rentre "Bambou" et dans épaisseur "20"
Du coup, lorsque je click sur "Ajouter"
- J'ai ma matière "Bambou" qui vient s'ajouter sous la colonne du fournisseur B dans l'onglet "Matière"
- J'ai la création d'une colonne "B Bambou" et l'ajout de l'épaisseur 20 dans mon onglet "Epaisseurs"
Si maintenant je souhaite n'ajouter qu'une épaisseur avec un fournisseur et une matière déjà présente alors je sélectionne dans mon userform les bonnes données pour :
- N° Fournisseur / Fournisseur / Matière
Puis je rentre moi même une épaisseur dans le cadre : Epaisseur
Alors dans l'onglet Epaisseur vient s'ajouter sous le bon fournisseur/matière (présent en ligne 2) ma nouvelle épaisseur.
Je ne sais pas si je suis assez compréhensible dans mon besoin, je maitrise encore assez mal le UserForm et donc je ne suis même pas sûr que ce que je veux faire et possible alors voilà je jette une bouteille à la mer afin d'avoir de l'aide et savoir si quelqu'un sera m'aider
Bonne journée à tous et merci d'avance !!