Userform dont le code VBA est à compéter et corriger

Madryuk

XLDnaute Nouveau
Bonjour à toutes et à tous!
Je suis nouveau dans le domaine et j'ai besoin d'aide.
Actuellement sur un projet sur excel, j'ai commencé à travaillé sur VBA.
Après avoir lu et survoler quelques livres, sites et autres fichiers. J'ai réussi à faire ce que vous trouverez dans le fichier annexé. J'arrive à comprendre certaines choses mais pas tout vu le peu de temps sur lequel je planche sur le VBA.

Mon problème est le suivant, mon fichier qui sera compléter par la suite avec des formules Excel déjà créée doit pouvoir permettre d'insérer des données, de pouvoir rechercher ces mêmes données avec plusieurs doublon (ex. deux fois la même personne) et de modifier la valeur de ces données.

Pour ce qui est de l'insertion de données pas de problème. La recherche est plus ou moins réussie, j'arrive à afficher dans le USF les données trouvées selon la valeur de la Textbox NNSS. En revanche, je ne sais comment faire pour que je puisse trouver les autres données en refaisant une nouvelle recherche.... Exemple J'ai 100 lignes de remplies et j'ai une personne qui est indiquée au moins trois fois pour trois cas différent. Comment faire quand je clique sur le bouton recherche pour qu'il m'affiche la deuxième voir la troisième série de données si je reclique dessus? Mais j'aimerai également savoir comment faire pour que la recherche puisse s'effectuer sur d'autres éléments tels que le nom ou le prénom. Autrement dit faire une recherche selon n'importe quelle valeur renseignée.

Après là où je patauge c'est pour modifier les données qui apparaissent sur l'USF une fois la recherche aboutie.

Si quelqu'un aurait l'amabilité de m'aider et de m'expliquer ça serait juste "GENIALE", ça fait déjà plusieurs jours que je planche dessus mais j'arrive pas à comprendre la façon de procéder en sachant que c'est la valeur qui se retrouve dans ma Textbox qui doit être modifiée pour être réimplantée dans la cellule où la valeur était située. (Je sais pas vous mais j'ai déjà l'impression de m'être perdu dans mon explication). :)

Je vous joins le fichier qui sera plus parlant. Et d'avance un grand merci à celles et ceux qui prendront le temps de me lire et de m'aider.

Avant que je n'oublie la seule donnée qui n'est pas insérée et celle qui correspond à Etat du dossier qui sera calculé automatiquement via d'autres données. Mais qui doit s'afficher si l'on trouve la personne en question.
 

Pièces jointes

  • ExtraiUltimate2013.xlsm
    43.3 KB · Affichages: 65
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Userform dont le code VBA est à compéter et corriger

Bonjour Madryuk le forum
bon alors j'ai ouvert et j'ai jeté ton code (pardon), et j'ai commencé mais ton fichier est mal fait
voilà ce que l'on peut faire mais comme tes colonnes ne respectent pas l'ordre de tes textbox et combo !!!! ????
voilà ouvre ce fichier cliques ton bouton, et choisi un nom et regardes, bien sur les colonnes étant pas en suivant, toutes les infos sont pas dans les bonnes cases!!
bref un premier test si tu remets de l'ordre dans tes colonnes on continuera
a+
papou:)
 

Pièces jointes

  • MadryUk V1.xlsm
    34.1 KB · Affichages: 53
Dernière édition:

Paritec

XLDnaute Barbatruc
Re : Userform dont le code VBA est à compéter et corriger

Re Madyuk le forum
bon j'ai changé les colonnes voilà un fichier qui est plus fonctionnel
tu ouvres tu testes et tu redis
a+
papou:)
 

Pièces jointes

  • MadryUk V2.xlsm
    38.2 KB · Affichages: 38
Dernière édition:

Madryuk

XLDnaute Nouveau
Re : Userform dont le code VBA est à compéter et corriger

Bonjour et merci Papou,

Pour répondre à ta demande concernant l'ordre des colonnes, ce n'est pas mon fichier qui est mal fait. Mais la présentation impérative voulue par certains utilisateurs. En effet, 3 personnes ne doivent avoir que les colonnes A à M de visibles sans d'autres informations au prime abord. Tous les autres utilisateurs doivent pouvoir avoir certains champs de renseignements pour leur unique besoin ainsi que pour l'information des autres.

J'avais créé un premier fichier Excel sans USF qui comportait 3 feuilles dont une qui correspond à l'affichage restreint des informations par cas de client et l'autres qui correspond à plus ou moins les mêmes champs mais avec ceux qui sont sur le fichier que je te retransmets qui sont groupées soit les colonnes allant de N à X. La 3ème feuille comprenant une statistique reprenant les données du tout.

Le fait de d'avoir un USF était pour moi plus pratique d'un point de vue visuelle car même si les champs ne se retrouvent pas à l'emplacement voulu en recherchant par l'USF on peut tout faire tant consulter qu'apporter les modifications aux champs qui en ont le besoin. Et on peut s'éviter d'avoir plusieurs feuilles dans le classeur Excel également. Après je ne sais pas si le fait de se dire qu'éventuellement L'USF renseigne des champs d'une autres feuilles pour garder une cohérence par rapport à ta proposition n'est pas mieux.

A savoir 1ère page comportant tous les champs correspondants aux utilisateurs de "renseignement et consultations" et 2ème page comportant tous les champs correspondants aux "Gestionnaires". Ces derniers remplissant ainsi une autre feuille du classeur. Tout en permettant le tri des données par Etat et Gestionnaire.

Je te remets deux fichier pour te montrer ce qui doit être simplifié… Tu comprendras peut-être mieux et cela te permettra peut-être de m'aider plus facilement.

Par contre je viens de voir ton deuxième fichier (Eh oui, le travail m'empêche de te répondre plus rapidement!) Il est du tonnerre!!!En revanche, si je comprends bien ton codage la fonction de recherche d'un client est conditionner par ta liste de nom qui se créer au fur et à mesure, je me trompe? Ce que je cherchais à faire avec le bouton "rechercher un assuré" c'est de pouvoir rechercher un assuré par son NNSS qui est un numéro qui lui appartient à vie. Le seul Hic c'est de pouvoir ensuite faire en sorte que si j'appuie une seconde fois sur ce même bouton il m'affiche la ligne suivante où apparaît l'assuré en question pour un autre cas et ainsi de suite. (Je sais pas si je suis très claire...) de façon à pouvoir modifier les cas en questions pour nos besoins.

Dans les fichiers que je te passe tu pourras pas le voir mais tu pourrais avoir 30 fois la même personne mais pour 30 cas différent avec des données différentes la seule chose qui indique que le dossier est en cours ou non c'est son Etat qui est réglé par certaines fonctions...

P.s. ne critique pas trop mes fichiers stp. :p ceux que j'ai récupéré en leur temps étaient bien pire!!! (On tirait encore les formules pour faire une statistique qui au final était fausse!) MDR

En tout cas un grand merci de ta part car rien qu'en lisant ton code j'apprends beaucouop même s'il me manque certaines données.

Le but pour moi maintenant avec ces fichiers c'est d'en simplifier l'utilisation et maximiser la rapidité.
Encore une fois un grand merci pour ton aide vraiment!

Oups je peux pas te renvoyer les dits fichiers ils sont trop gros... Comment faire?
 

Paritec

XLDnaute Barbatruc
Re : Userform dont le code VBA est à compéter et corriger

Bonjour madryuk le forum
j'ai fait la recherche voilà dans le fichier
pour l'ordre des colonnes ou l'ordre des textboxs c'est pareil !!!!!!
alors ton explication ne tient pas
a+
papou:)
 

Pièces jointes

  • MadryUk V3.xlsm
    42.9 KB · Affichages: 38

Paritec

XLDnaute Barbatruc
Re : Userform dont le code VBA est à compéter et corriger

Re madryuk le forum
ce n'est pas mon fichier qui est mal fait. Mais la présentation impérative voulue par certains utilisateurs
là c'est l'arbre qui cache la forêt, car si ton fichier est fait d’une certaine manière d'avoir des colonnes inversée par rapport à tes textboxs tu vas me trouver quoi comme excuses????
pour avoir la possibilité d'afficher qu'une partie des données il suffit de ne mettre que ces données dans l'userform et un mot de passe à l'ouverture, tu as le mot de passe général tu vois tout, tu n'as pas le mot de passe tu as un autre userform avec 4 colonnes( par exemple enfin le nombre que tu veux faire voir)
a+
papou:)
 

Madryuk

XLDnaute Nouveau
Re : Userform dont le code VBA est à compéter et corriger

Regarde la pièce jointe Fichier 1.xlsxRebonjour Papou!

Ayant enfin réussit à réduire à la taille des fichiers que je dois améliorer. J'ai la chance de voir ton oeuvre en même temps.

Alors désolé si mes explications ne sont pas claires mais comme j'essais de te l'expliquer, je n'ai malheureusement pas le pouvoir de décider de certaines choses d'où la présentation du fichier excel que tu juges incohérentes. Après si tu regardes l'horreur de VBA que j'avais saisis l'ordre, des colonnes n'influençaient en rien l'ordre des textes box puisque les champs que je voulais renseigner étaient renseigné correctement...

Après avec ce que tu as fait tu m'en apprends bcp! Et je t'en remercie et je m'excuse si ma logique ou mes incohérences ne te sont pas familières... :)

Par contre pourrais-tu m'éclairer sur certains éléments? Je te joins les fichiers ci-dessous sur lequel tu verras toutes les formules que j'ai créer. (Je sais très perfectibles!) Mais que j'aimerai savoir comment les intégrer dans VBA pour ne pas avoir à protéger mon fichier en long et en large tout le temps!

Bon j'ai pas le temps de te répondre que tu me proposes d'autres déjà.... T'es un monstre de Génie! (Compliment :) )

Si tu es d'accord de m'éclairer encore sur quelques points je te serais très reconnaissant. Car c'est pas facile d'appliquer ce que tu lis sur des forums, livre et autre fichier sans avoir les vrais bases nécessaires.
 

Pièces jointes

  • Fichier 1.xlsx
    166.6 KB · Affichages: 65
  • Fichier 1.xlsx
    166.6 KB · Affichages: 63

Madryuk

XLDnaute Nouveau
Re : Userform dont le code VBA est à compéter et corriger

Effectivement j'avais même pas pensé à l'histoire du mot de passe pour avoir accès à certaines choses....
En même temps je débute en VBA... donc là niveau cours j'en prends plein mon grade en peu de secondes!...

Te serais-t-il possible de m'aiguillé sur la meilleure solution pour un userform qui remplis 3 feuilles avec des données distinctes ?

Encore un énorme merci! Si tu as des conseilles à me donner pour pouvoir apprendre à utiliser le maximum du potentiel d'Excel, je suis preneur! Et navré mais mon deuxième fichier et tjrs trops gros pour le forum...
 

Madryuk

XLDnaute Nouveau
Re : Userform dont le code VBA est à compéter et corriger

Bonjour Papou!
Après avoir fait quelques testes avec ton fichier V3, je le trouve excellent à une exception prêt.

Si j'ai bien compris le code que tu as créé quand on saisit un nouveau cas, le userform l'enregistre sur la dernière ligne vide. Me trompe-je? Car mon problème est le suivant, dans ma feuille excel j'ai des formules... Et du coup quand je saisis un nouveau cas... il va s'enregistrer dans la dernière ligne vide chez moi. Faisant ainsi en sorte que mes formules ne soient pas prises en compte.

Mtnt le problème c'est que je vais tenter également de reprendre ton codage pour un autre fichier où le nombre de formules sont trop nombreuse et complexe pour moi pour le faire via VBA.

C'est pourquoi je sollicite ton aide pour m'expliquer comment je peux modifier ton code pour arriver à l'utiliser pour mes besoins.

D'avance un grand merci.

P.s. J'espère que tu as passé un bon week-end!
 

Paritec

XLDnaute Barbatruc
Re : Userform dont le code VBA est à compéter et corriger

Re Madryuk le forum

bon alors ou je ne sais pas lire ou tu dis dexu fois la même chose
Si j'ai bien compris le code que tu as créé quand on saisit un nouveau cas, le userform l'enregistre sur la dernière ligne vide. Me trompe-je? Car mon problème est le suivant, dans ma feuille excel j'ai des formules... Et du coup quand je saisis un nouveau cas... il va s'enregistrer dans la dernière ligne vide chez moi.
oui je met bien le nouveau dans la première ligne vide en dessous donc je fais comme toi
Pour tes formules, si tu veux avoir des fichiers qui soient ""sur"" tu peux purement et simplement, toutes les virer et travailler avec des valeurs calculées
a te relire
Papou:)
 

Paritec

XLDnaute Barbatruc
Re : Userform dont le code VBA est à compéter et corriger

re Madryuk le forum
ton fichier avec une petite modification un bouton en plus qui peut servir
De Plus tu as fait des essais avec la version V3 !!! ???? Oui mais il y a eu une V4 et maintenant une V5 bon tu es un peu à la traîne mais pas de beaucoup a peine trois jours!!!
a+
papou:)
 

Pièces jointes

  • MadryUk V5.xlsm
    51.8 KB · Affichages: 40
Dernière édition:

Madryuk

XLDnaute Nouveau
Re : Userform dont le code VBA est à compéter et corriger

Désolé, je ne suis peut être pas claire.
Quand je reprends le fichier. Si j'inscris une formule dans la
Colonne État. Comme = si($h2="";""; si($q2="";"en cours";"terminé")).

Toute information saisie via le Usf sera inscrite dans une ligne ne contenant pas la formule ci-dessus.
 

Paritec

XLDnaute Barbatruc
Re : Userform dont le code VBA est à compéter et corriger

Re Madryuk le forum
non tes explications tu les mets pour toi seulement, et comme toi tu sais ce que tu veux avec ton fichier !!!
bref voilà en retour avec de quoi vérifier la colonne état
a+
papou:)
 

Pièces jointes

  • MadryUk V6.xlsm
    49.6 KB · Affichages: 54

Madryuk

XLDnaute Nouveau
Re : Userform dont le code VBA est à compéter et corriger

Re désolé,

Mais j'avais testé la V4 mais j'avais une erreur d’exécution 91 depuis la feuille d'ouverture.

J'ai testé la V5 et V6 et à chaque fois que je lance l'usf pour saisir un cas sur la feuille Menu est il me redonne l'erreur d’exécution 91


Private Sub Bt1_Click()
Dim i&, lig&
If C1 = "" Or C2 = "" Or C3 = "" Or T2 = "" Or T1 = "" Then MsgBox "Veuillez SVP remplir avant de Valider!!", , "Manque d'informations": Exit Sub
With Feuil1
lig = Cells.Find("*", , , , xlByRows, xlPrevious).Row + 1
Feuil1.Cells(lig, 1) = T1: Feuil1.Cells(lig, 4) = C2: T1 = "": C2 = ""
Feuil1.Cells(lig, 3) = T2: Feuil1.Cells(lig, 5) = C3: T2 = "": C3 = ""
Feuil1.Cells(lig, 2) = C1: C1 = ""
For i = 4 To 22
Feuil1.Cells(lig, i + 2) = Controls("T" & i): Controls("T" & i) = ""
Next i
End With
UserForm_Initialize
End Sub

Mais cela n'est pas grave car elle ne se produit pas du tout si je lance l'USF via la feuil1.
En revanche tu as très bien compris ce qu'il me fallait.

Car visiblement tu l'as deviné le fichier doit gérer des personnes avec un numéro d'identification unique qui permet pour divers cas de type de dossier qui peuvent eux-même gérer par plus d'un gestionnaire. En ce qui concerne le call calcul que tu as fait, j'avais tenté de le faire sans succès encore aujourd'hui pour éviter le problème de la ligne vide qui correspondait chez mois à la dernière ligne ou j'avais insérer cette formule pour préparer mon fichier à la saisie.

Maintenant je vais tenté de reproduire ce que tu as fait pour un autre fichier pour essayer d'apprendre à manipuler VBA le peu que je connais est très succins.

Et navré si je n'ai pas été très claire mais ces derniers temps je dors peu... bébé fait des siennes...

Je te remercie encore du coup de main et vais essayé de tiré des enseignements de ce que tu m'as montré.
 

Statistiques des forums

Discussions
311 720
Messages
2 081 909
Membres
101 836
dernier inscrit
karmon