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

Re Madryuk le forum
une petite modification, dans la recherche si tu n'as plus qu'une seule ligne elle se sélectionne automatiquement
tu ne m'as pas dit si la recherche correspondait à ce que tu souhaites?
a+
papou:)
 

Madryuk

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

Re Papou,

Alors la recherche est top, y a rien a changé.

De mon côté, j'ai modifié le bouton raz que tu m'as créer pour qu'il face la chose suivante :

Exemple, j'ai un client que je dois reprendre pour recréer un nouveau cas. Après une recherche je le trouve dans le fichier, selectionne et avec le bouton raz toutes les informations autres que le NNSS, Nom et Prénom sont remises à zéro.

En revanche une question la formule calcul pour l'état du dossier :

If .Cells(i, 8) = "" Then .Cells(i, 6) = ""
If .Cells(i, 17) = "" Then .Cells(i, 6) = "En cours" Else .Cells(i, 6) = "Terminé"

Pour comprendre un peu la chose si ma première cellule en colonne 8 est vide j'ai bien du "" dans ma colonne 6
et si ma colonne 17 est vide également j'ai "En cours" sinon "Terminé".

Mais si je devais rajouter une condition cumulative est-ce que je peux reprendre sans autre ta formulation?

Je te pose la question car mtnt je vais partir sur un nouveau fichier et pour réappliquer ce que tu m'as gracieusement montré et tenté d'améliorer un autre fichier excel qui est très utile mais peu pratique.

Merci pour ton aide ta programmation est très différente de ce que j'ai pu voir dans les livres c'est dire le niveau que tu as.
 

Paritec

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

Bonjour Madryuk le forum
tu me demandes pour la formule, oui alors justement!!!!!
tu dis en gros si ma cellule H et vide alors la colonne Etat = vide et après avec un autre si tu dis si ma colonne Q = "" alors "encours" sinon "terminé"
Mais tu m'expliqueras comment tu veux donner 3 valeurs à ta cellule colonne état?????????????
a moins que tu aies un ordre à respecter au niveau des conditions et que la condition de H = vide soit prioritaire sur la condition colonne Q
mais là encore tu n'expliques rien tu crois que je vois dans le fichier ce que tu n'as pas écrit!!!! et bah non
a+
papou:)
 

Madryuk

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

Re Papou,

Pour ma formule je te l'ai demandé plus haut si je pouvais avec vba
Adapter cette même formule : = si($h2="";""; si($q2="";"en cours";"terminé")).
Car si je l'inscrivais sur la feuil1 dans la colonne État pour le formulaire la dernière ligne vide
Est celle où cette formule n'est pas insérée. En lisant la formule, les priorités pour l'état me semblent
Bien déclarée. En priorité h2 puis q2...
Si h2 est vide le dossier n'est pas en cours, et si h2 n'est pas vide et que q2 l'est alors en cours, sinon terminé...
 

Madryuk

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

Bonsoir Papou,

Après avoir regarder le fichier et essayé de faire certaines choses par moi-même je comprends mieux ton agacement vis à vis de certaines de mes questions. Je te pris de m'en excuser.

Mais je suis vraiment novice en la matière et j'ai encore de la peine à faire une différentiation d'Excel et de VBA, ma "logique Excel" n'a plus rien de logique avec VBA ou presque.

En revanche, je viens de passé un petit moment sur le code que tu m'as donné, il est vraiment bien conçu et je sais pas si les termes que je vais utiliser sont les bons mais propre et succinct. Ca n'a vraiment rien à voir avec ce que j'avais fait et appris en bouquinant un peu. Je me suis permis de faire des annotations pour mieux comprendre ton travail et sincèrement j'ai beaucoup appris. Même si je sais que je ne pourrais pas refaire ce que tu as fait les yeux bandés car certaines notions me sont complétement étrangères.

En revanche, j'ai remarqué une chose le fait d'avoir remplis ma base de donnée en feuil1 a passablement alourdit le fichier. Dès que l'on fait un click sur une cellule Excel met un temps fou à faire la moindre chose. En revanche dès que l'on est sur l'Usf plus aucun soucis. Je peux me tromper mais je pense que c'est à cause de la fonction Call calcul qui recalcul sans cesse la valeur de la colonne de l'Etat. Je sais que ça peut paraître bête mais je m'en suis aperçu en faisant le test avec 2 de mes collègues et heureusement qu'il y avait quelqu'un pour me planter le fichier.

Si tu es d'accord de m'éclairer là-dessus je t'en serais reconnaissant. J'en profite pour te remettre le fichier avec mes annotations et mes petites modifications. J'aurais aimé faire plus mais j'ai de la peine à tout assimiler en si peu de temps.

Merci encore

A+ Madryuk
 

Pièces jointes

  • ExtraiNew2013.xlsm
    97.2 KB · Affichages: 37

Paritec

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

Bonjour Madryuk le forum
je n'ai pas le temps là maintenant je pars en déplacement mais je regarderai cela dans le week-end si j'ai internet chez mon client autrement mardi prochain
a+
papou:)
 

Paritec

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

Re Madryuk le forum
pour les problèmes de calcul essayes ce fichier avec les modifications que j'ai fait STP
a+
papou:)
 

Pièces jointes

  • Madryuk V10.xlsm
    91.3 KB · Affichages: 31

Paritec

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

Re Madryuk le forum
si la version 10 ne te convient pas voilà la 11 avec un calcul à la fermeture et aussi des commentaires dans recherche et dans l’autre mais pas partout j'ai plus le temps l'avion ne m'attendra pas a+
papou:)
 

Pièces jointes

  • Madryuk V11.xlsm
    90.9 KB · Affichages: 38

Statistiques des forums

Discussions
311 720
Messages
2 081 926
Membres
101 841
dernier inscrit
ferid87