Affecter de nouvelles valeurs à une base en fonction des données du USERFOM

Bonjour,

je suis souhaite modifier la valeur de cellules en fonction des choix fait dans un USERFORM.

Je mets en PJ le fichier qui comporte des onglets VERT : pour expliciter mon souhait et des ONGLET BLEU pour montrer un exemple .

11forum-excel.xlsx (23.98 Ko)

Merci d'avance à tous ceux qui se pencheront sur ma demande.

Bonjour Fabiosus, bonjour le forum,

Ton problème ressemble plus à un exercice de cours qu'à un véritable besoin. Tu n'as même pas daigné faire l'UserForm ni fournir les listes qui l'alimentent.

Alors oui en effet, je me suis penché sur ton problème mais je me suis vite redressé pour aller voir ailleurs (si j'y étais)... Et figure-toi, j'y étais !

Bonjour

J'ai pas tout compris

on choisi N ou N-1 ensuite Red1,2,3 ou 4

ensuite dans les cases en dessous on met N ou N-1 en fonction du choix

et on recherche dans Base une cellule qui a N ou N-1 en C dans la colonne Red sélectionnée?

Si c'est le cas il y en a plus de 6?

Ne vaut il pas mieux faire une liste avec les lignes qui répondent à ce critère

en cliquant sur une des propositions de la liste modifier ACTIF, PASSIF, etc.

A+ François

Ci joint une ébauche de ma proposition en cliquant sur Mise à jour ça mettrai la ligne sélectionnée à jour après modif

2forum-excel.xlsm (38.22 Ko)

Double clic sur la feuille Base pour voir le formulaire

A+ François

Ps Thau Thème j'aime bien ta remarque... lol

Bonjour,

Merci d’avance pour les contributeurs et pour ceux qui ont un don d’ubiquité comme Thautheme, bravo à eux. Il ne s’agit pas d’un exercice sinon je n’aurais pas posté mon besoin à 7h am un samedi !

Fanfan, il y a plus de six bien entendu mais je souhaite que l’utilisateur ne puisse modifier que 6 lignes en même temps.

Merci

Merci François,
dans le formulaire, l'idée est de proposer uniquement le Red 3 en critère 2.

Ensuite est il possible d'afficher uniquement dans la LISTBOX1, une liste des valeurs uniques et non pas l'ensemble des lignes de la base ?

En réalité lorsque l'utilisateur décidera d'affecter la valeur PASSIF au RED3 - 447, c'est l'ensemble des 447 de la base qui doit devenir PASSIF et pas que la ligne sélectionnée.

Lorsque j'appuie sur le bouton Mise à jour, je n'ai pas de MAJ effective dans l'onglet BASE.

Merci d'avance

Ci joint ma solution

3forum-excel.xlsm (35.67 Ko)

A+ François

Merci ,

je vais essayer de l'adapter afin d'obtenr une liste unique des valeurs dans LISTBOX 1 et d'affecter la nouvelle valeur non pas ligne par ligne mais à toutes les valeurs du RED3 sélectionné.

Bonjour

Avec liste unique et modification de toutes les lignes ayant la même référence en Red3

4forum-excel.xlsm (36.82 Ko)

A+ François

Merci François ! Je regarde cela tout de suite !

Bonjour,

je viens de regarder le fichier, il manque un dernier petit point à résoudre :

lorsque je sélectionne une ligne à mettre à jour, il faut que la mise à jour se fasse effectivement sur l'ensemble des RED3 mais de l'année N ou N-1 qui est sélectionné dans l'une des 6 cases disponibles. En d'autres mots, la mise a jour s'effectue sur les valeurs RED3 de l'ensemble de la base sur l'exercice N sélectionné.

Merci déjà pour le temps passé !

Bien à toi

J'ai également un débogage lorsque la 1ere ligne à modifier est vide et que la 2eme a été sélectionné. Ou lorsque la 1ere ligne est sélectionné , la 2e vide et la 3e sélectionné. Est il possible d'inclure un bouton reset pour mettre à 0 , les lignes 1 à 6 à modifier lorsque l'on se rend compte que nous avons sélectionné par erreur une ligne à modifier alors qu'il ne le faudrait pas. Dans cette version il faut quitter l'userform et revenir sinon débogage. Pour éviter le débogage, peut on prévoir que lorsque l'utilisateur commet une erreur, il ne passe rien et le userform disparaisse.

De plus, lorsque la liste des valeurs uniques s'affiche, la ligne qui est surlignée ne peut pas être sélectionnée du premier coup, il faut d'abord sélectionné une autre ligne avant de pouvoir l'indiquer en ligne à modifier.

Merci

J'avais perdu cette condition (lol)

3forum-excel.xlsm (36.88 Ko)

A+ François

Lorsque j'insère le USERFORM dans mon fichier de travail qui comprend 44 mille lignes en réalité, j'ai le message d'erreur suivant et il mouline beaucoup. Y a t'il un moyen d'améliorer le temps ?

Merci

image image

J'espère que tu seras satisfait

4forum-excel.xlsm (36.62 Ko)

A+ François

En PJ ma base réelle, j’ai le meme message d'erreur indiqué dans mon précédent post lorsque je récupère le USERFORM dans mon fichier de travail.

Je l'ai mis en Excel binaire pour réduire la taille du fichier et le mettre sur le forum.

Dans le code reçu, je l'adapte en remplaçant : H par U, O par AB, C par P et en modifiant la colonne H par la Colonne U soit colonne (21).

3classeur2.zip (596.25 Ko)

Ci joint le fichier avec le code.

Double clique dans une cellule de l'onglet pour faire apparaitre le userform. Et le convertir en Excel Macro avant.

Merci d'avance

5illustratio.zip (610.85 Ko)

Bonjour François,

Bonjour aux contributeurs,

Bonjour à ceux qui ont le don d'Ubiquité :-)

Toujours bloqué sur mon fichier, est-il possible de faire un filtre croissant (sur les 3 chiffres) qui s'affiche dans la Listbox1.

Par ailleurs ayant un souci en raison du nombre de ligne, peut on afficher dans la listBox1 ( Exercice (N /N-1), le Réd3 (437,421, etc mais trié en ordre croissant pour faciliter la recherche) et uniquement les données de la colonne 3-CR-ACTIF-PASSIF pour les valeurs "PASSIF", "ACTIF" et "PAS./ACT." ?

La listbox1 afficherait donc moins de données à afficher.

Enfin un dernier bouton pour "reset" les lignes 1 à 6 lorsqu'on constate une erreur dans les lignes sélectionnées pour la modification.

Merci d'avance

Bonjour

J'ai essayé plusieurs solutions…

Ci joint une solution

4illustration1.xlsm (41.32 Ko)

ATTENTION! il faut d'abord allez dans VBA, OUTILS, REFERENCE et cocher cette référence

image

A+ François

j'ai dû alléger la feuille Base pour pouvoir faire suivre

Bonjour François,

merci, cette solution est bien plus rapide et marche nickel.J'ai juste un débogage lorsque :

1- j'ai sélectionné les six lignes et que je clique encore dans la LISTBOX1 ( est il possible d'indiquer que le nombre max de ligne a été atteint et éviter le débogage) ?

Par ailleurs, lorsque je fais un RAZ, il n'est pas possible de sélectionner de nouveau les lignes qui ont été vidé , et de remplir les champs en sélectionnant dans la LISTBOX1.Le programme nous met sur la ligne suivante qui n'a pas été affecté par le RAZ.

Je ne sais pas ce qui en est des autres solutions mais je suis également preneur pour ma culture perso.

Merci encore mais la je suis déjà happy !!!

Bien à toi

Rechercher des sujets similaires à "affecter nouvelles valeurs base fonction donnees userfom"