Collage conditionnelle
Salut le forum
J’ai une idée dont j’ai pas la solution et je souhaiterai bénéficier de votre aide pour y arriver.
J’ai un formulaire qui devrait me permettre d’ajouter un nouvel agent ou de changer les données d’un ancien agent par un nouvel.
1 er cas : ajout d’un nouvel agent
Dans ce cas, après avoir renseigné les champs, en cliquant sur le bouton Valider, je souhaite que le collage soit fait à la suite de la dernière ligne non vide (dans mon cas actuel I126) et dans l’ordre (voir fichier joint).
2eme cas : changement
S’il s’agit d’un changement, à partir de la valeur du textbox5 trouver dans la plage I5 :I125
ci-dessous l’ordre de collage pour tous les cas et pour chaque condition définie :
Textbox1 Combobox1 textbox2 textbox3 textbox4
NB: le formulaire est exécutable à partir de la feuille DONNE (voir bouton correspondant)
Je pense m’avoir fait comprendre sinon je reste à votre disposition pour plus d’éclaircissement.
Merci
Salut,
Je trouve ton UserForm assez mal foutu. Tu mélanges le cas « Modification » avec les cas « Nouveaux », tu as des couleurs bizarres dans tes TextBox, etc.
Je te propose alors de modifier ton UserForm et de traiter des deux cas dans deux onglets. Pour l’instant je n’ai commencé qu’avec l’onglet «Nouvel(le) exploitant(e)».
Comme je n’ai pas tout compris à propos de ce que tu voulais reporter où, j’ai transféré un peu au hasard les données inscrites dans le UserForm sur la feuille « PARAMETRE » et on corrigera en fonction de tes explications.
Pour le ComboBox correspondant à « Agence », où as-tu ta liste d’agences ?
En ne traitant qu'un ou deux problèmes à la fois, on est plus sûrs d'avancer sans se mélanger les pinceaux.
On continue dans ce sens ?
Salut Yvouille et le forum
Merci pour votre aide et votre proposition.
j'ai compris parfaitement vos inquiétudes.
Yvouille a écrit :Pour le ComboBox correspondant à « Agence », où as-tu ta liste d’agences ?
Je peux réaliser ce point donc...
Ce qui reste à faire est le collage des données de l'onglet "changements".
je partirai d'un exemple pour me faire comprendre.
supposons que je veuille que le collage se face à partir de la ligne I110.
dans le textbox9, je saisi la valeur de la cellule I110 qui est 187.
Cela signifie que le collage doit se faire à partir de I110.
Autrement dit, si je suis dans l'onglet "changement", après avoir renseigné tous les champs, en cliquant sur "valider", le programme doit chercher d'abord la valeur du textbox9 (qui est la ligne à partir de laquelle le collage doit se faire) dans la plage I65:I125 et commence le collage.
Merci
Re,
Tu n’es jamais très précis dans tes explications (la cellule I110 a la valeur 181 et non pas 187) et tu n’es jamais très explicite ; j’ai dû relire 3 fois ton commentaire afin de comprendre que la partie concernant l’onglet «Nouvel(le) exploitant(e)» était liquidé pour toi.
Pour le deuxième onglet que je t’ai proposé, l’onglet «Changements», tu veux apparemment pouvoir choisir dans ton UserForm une ligne de ton tableau de la plage I65:L125 et pouvoir la modifier. J’ai cependant un doute car tu écris dans ton exemple que le collage doit se faire à partir de I110. Tu parles donc d’un collage sur une nouvelle ligne à insérer ou de REMPLACER LES DONNEES DE LA LIGNE 110 ?? Si c’est bien ce deuxième cas, ne vaudrait-il pas mieux, lorsque tu as choisi le «Code à changer» dans le UserForm, que les données concernant ce cas s’affichent dans ton UserForm, que tu puisses les modifier puis qu’elles se reportent sur la bonne ligne lorsque tu cliques sur «Valider» ?
A te relire.
Salut Yvouille
Merci pour ta réaction et je m'excuse pour les incohérences.
Yvouille a écrit :J’ai cependant un doute car tu écris dans ton exemple que le collage doit se faire à partir de I110
Il s'agit d'un exemple que j'ai pris. La valeur de I110 comme tu l'as dit est 181. Tout dépendra de la valeur du textbox9.
Yvouille a écrit :Si c’est bien ce deuxième cas, ne vaudrait-il pas mieux, lorsque tu as choisi le «Code à changer» dans le UserForm, que les données concernant ce cas s’affichent dans ton UserForm, que tu puisses les modifier puis qu’elles se reportent sur la bonne ligne lorsque tu cliques sur «Valider» ?
Suis d'accord avec votre proposition. Il ne s'agira pas d'insérer de ligne mais de remplacer les données de la ligne comportant la valeur du textbox9.
Je reste à disposition pour plus d'éclairage
Salut,
Dans le fichier ci-joint, si tu lances la macro par le bouton en place et que tu choisis l’onglet « Changements » de l’UserForm1, tu peux y inscrire un « Code à changer ». Au moment où tu sors de ce champs (soit par tabulation, soit en cliquant dans un autre champ), tu as les données concernant ce code qui s’affichent dans 3 lignes en-dessous. Je ne suis pas certain que j’ai reporté les bonnes données dans les bons champs, mais il semble que tu sauras corriger cela.
Ensuite tu peux corriger les données inscrites dans ces champs et lorsque tu cliques sur « Valider », les données sont remplacées dans le tableau de la feuille PARAMETRE.
Si le code inscrit dans « Code à changer » n’est pas trouvé dans la colonne I de la feuille PARAMETRE, tu en es informé.
Cordialement.
Salut Yvouille
Merci infiniment à toi.
Ta solution répond parfaitement à mon besoin et comme tu l'as dis, je pourrai l'adapter à mon cas réel.
Suis satisfait.