Masquer plusieurs lignes selon un formulaire

Bonjour à tous,

Je viens vers vous, car je ne suis pas un As en VBA et que je souhaite ajouter quelques trucs à mon ficher excel.

Effectivement, je souhaite masquer plusieurs lignes d’une personne de la liste salariée et celle du suivi des formation à l’aide d’un formulaire dans l’onglet « retirer un salarié » ou je saisis le nom et le prénom de la personne. Ce que je veux dire, c’est en saisissant le nom et le prénom de la personne une RechercheV s’effectue dans la liste de Suivi et la liste des salarié pour masquer les lignes concernées.

Je ne sais pas si c’est possible.

J’ai également un petit problème avec une TextBox dans « suivi des formations » avec là qu’elle je souhaite effectuer un filtre automatique en saisissant les lettres. Cela me renvoie directement sur le code quand je commence à saisir.

Merci d’avance pour votre aide.

PROTO SUIVI FORM 22-06-2020.xlsm (78,7 Ko)

Bonjour

Ci-joint ma proposition

J’ai relié mon code sur le bouton « RETIRE PERSONNE » onglet « RETIRER UN SALARIE »
Bizarrement onglet « Salaries » pour une même personne les noms/prénom sont inversés exemple lignes 8/9/11 :

nom : REDZEPI
prénom : OSMAN

et lignes 16/18/19

nom : OSMAN
prénom : REDZEPI

Chercher l’erreur !!!

C’est 2 personnes différentes ?

Pour ton TextBox onglet « Suivi des formations » j’ai corrigé ton code :

au lieu de :

Selection.AutoFilter Field:=2, Criteria1:=word, Operator:=xlAnd

il faut mettre :

Range(« C19 »).AutoFilter Field:=2, Criteria1:=word, Operator:=xlAnd

les filtres sont en ligne 19
la sélection lors de la saisie est au niveau du TextBox donc fait buguer ta ligne de code qui en fait appel
Il faut cibler cette commande sur la ligne qui est avec des filtres et choisir le filtre approprié avec « Field:=2 » 2° filtre

J’ai mis ce filtre qui correspond à celui des NOM/PRENOM n’ayant pas de directive de ta part à ce niveau
Si tu veux filtrer sur les Formateurs c’est le 4° filtre donc mettre Field:=4

Je te joins ton fichier avec ces évolutions

Testes et dis moi

PROTO SUIVI FORM 22-06-2020.xlsm (82,3 Ko)

Bonjour @FFO,

Étant donné que cela a mis quelque temps avant que la publication soit en ligne. J’ai pu avancer de mon côté et améliorer mon fichier, mais tu m’a tout de même apporter ton aide concernant la textbox qui ne voulais pas fonctionner comme il le fallait et je te remercie pour cela.

J’aurais un autre souci concernant mon fichier.
Dans le premier formulaire qui est dans l’onglet nouveau salarié, en ajoutant une personne celle m’ajoute toutes les formations qui doivent être suivi par cette personne selon son poste dans la société. Penses-tu que a l’aide d’un nouveau formulaire (nouvelle formation) crée dans dans le même onglet, je pourrais ajouter une nouvelle formation à toutes les personnes qui ont le besoin de cette formation selon leur poste ?

Je ne sais pas si je suis clair avec ce que je veux dire ?
Ci-joint mon fichier actuel.

Merci infiniment de ton aide @FFO.

PROTO SUIVI FORM V3 26-06-2020.xlsm (82,4 Ko)

J’ai beaucoup de mal à comprendre ta question :

« Penses-tu que a l’aide d’un nouveau formulaire (nouvelle formation) crée dans dans le même onglet, je pourrais ajouter une nouvelle formation à toutes les personnes qui ont le besoin de cette formation selon leur poste ? »

J’ai testé ton formulaire onglet « NOUVEAU SALARIE » (FORMULAIRE NOUVEAU SALARIE)
Beaucoup de difficulté à le faire fonctionner car bug à répétition que j’ai corrigé

Attention à ne pas modifier la structure de tes tableaux les lignes qui ne fonctionnaient plus en on souffert :

[tblJournaldeformation[Date de la formation]].Rows(1) = « à former »

le champ « Date de la formation » recherché dans le tableau « Journaldeformation » n’existait plus en l’état plantage !!!
Et oui dans l’onglet « Suivi des formations » en cellule C19 où il se trouve il n’est plus tout à fait identique tu as rajouté pour le mettre en 2 lignes un retour chariot dévastateur
Je l’ai supprimé et bingo la ligne de code fonctionne

Idem sur cette ligne de code :

[tblJournaldeformation[INTERNE/EXTERNE]].Rows(1) = [tblListedescours[@ORGANISME]].Text

le champ « INTERNE/EXTERNE » souffrait de la même maladie après correction la ligne a repris du service

Pour au bout de compte inscrire le nouveau avec tout son CV en tête de tableau dans cet onglet

Que cherche tu dans le même esprit suppose à réaliser avec cette nouvelle formation
Cela se traduit comment concrètement ? dans quel onglet quel tableau pour y mettre quoi
Il me faut tout le contexte données en entrée à reporter où en sortie avec quelles conditions

Corriges tes bug car en l’état le formulaire « FORMULAIRE NOUVEAU SALARIE » ne fonctionne pas
Soit corriger ces 2 entêtes de colonne en supprimant le retour chariot
Soit inclure le retour chariot dans le code

Merci pour tes précisions

Dans le même esprit que le premier formulaire qui me permet de rajouter une nouvelle personne intégrant l’entreprise et associé à son poste dans la société les formations se rajoutent (une ligne une formation) dans l’onglet suivi de formation avec mention à former.

Ce qu’il me faudrait enfaîte, c’est en cas d’évolutions des formations sur le site, je souhaiterais un formulaire me permettant d’associer la nouvelle formation a toutes les personnes ayant un poste spécifique.

Par exemple :

Si je souhaite rajouter une formation COVID19 et que je souhaite l’associé à un poste ACHETEUR en remplissant le formulaire dans l’onglet actuellement « nouveau salarié » (que je vais sûrement renommer)
Qu’il me génère une ligne pour chaque personne au poste d’ACHETEUR qui devra suivre la formation COVID19.

Je ne sais pas si c’est cohérent ce que je dis.

Énorme merci pour ton aide.

Je te propose sur la base de ton formulaire « FORMULAIRE NOUVELLE FORMATION » onglet « NOUVEAU SALARIE » de rajouter la nouvelle formation pour chaque personne en correspondance avec le poste décrit dans l’onglet « Suivi des formations » en plus des formations en place colonne E cette nouvelle formation est rajoutée à la suite en dessous

Onglet donc NOUVEAU SALARIE" formulaire "« FORMULAIRE NOUVELLE FORMATION » j’ai rajouté une procédure dans cet esprit derrière le bouton « Ajouter une formation »

Attention seul les lignes non masquées sont prises en considération par le traitement autant dans l’onglet « Salaries » que dans l’onglet « Suivi des formations »

La nouvelle formation n’est ajoutée qu’une fois
Si l’on réalise 2 fois le traitement seuls les employés répondant aux critères qui ne bénéficient pas encore dans la colonne E de la nouvelle formation sont considérées par l 'ajout de celle-ci

Le traitement donc ne mets pas plusieurs fois la nouvelle formation

Fichier joint onglet NOUVEAU SALARIE" formulaire "« FORMULAIRE NOUVELLE FORMATION » cliques sur le bouton « Ajouter une formation »

Testes et dis moi

PROTO SUIVI FORM V3 26-06-2020.xlsm (90,7 Ko)

Merci @FOO

C’est bien dans ce principe que je souhaite le faire, mais le problème, c’est que la, tu as regroupé toutes les formations dans une ligne alors que je voudrais une formation par ligne pour faciliter la planification et la gestion. Peut-être, je t’en demande trop désolé.

Je m’explique :

Je souhaite qu’en remplissant le formulaire « nouvelle formation » cela m’ajoute une ligne pour chaque personne ayant le poste « ACHETEUR » par exemple qui est renseigné dans la liste des salariés.

Je souhaite que cela se fasse de la même façon qu’avec le formulaire nouveau salarié qui me permet en ajoutant une nouvelle personne arrivant dans l’entreprise de créer une ligne dans suivi des formations pour chaque formation associé à son poste.

Si je veux une ligne pour chaque formation c’est surtout pour faciliter la gestion et la planification de formation.

« Je souhaite qu’en remplissant le formulaire « nouvelle formation » cela m’ajoute une ligne pour chaque personne ayant le poste « ACHETEUR » par exemple qui est renseigné dans la liste des salariés. »

Dans quel onglet ?

Si c’est dans l onglet « Suivi des formations » pourquoi alors les formations en place pour chaque personne sont elles toutes regroupées sur la même ligne colonne E?
Ce n’est pas très logique
De plus chaque personne concernée par de nouvelles formations va se retrouver plusieurs fois dans cet onglet cela fait un peux désordre non ?
Et dans cette alternatives faut il par nom regrouper toutes ces lignes ou peuvent elles être séparées ?

Merci de m en dire plus

Justement, initialement elle ne l’était pas.
Dans l’onglet suivi de formation, chaque ligne correspond à seulement une formation ce qui me permet de visualiser pour une personne quelle formation est effectuer et celle qui ne l’est pas.

PROTO SUIVI FORM V3 26-06-2020.xlsm (88,7 Ko)

Donc en d autres termes chaque nom se retrouve autant de fois que de formation qu il lui est associé
Un nom peut donc en toute logique être répété X fois
Et dans cette alternatives faut il par nom regrouper toutes ces lignes ou peuvent elles être séparées ?
Merci de me dire

Non elles peuvent être séparées. Les segments et les filtres me permettront de faire le Tri.

OK je te fourni une nouvelle version avec ces nouvelles dispositions des que possible
Une ligne par personne répondant au critère avec la nouvelle formation onglet « suivi formation »
Ces lignes seront ajoutées en fin d onglet
Ce week-end au plus tard lundi
Bonne soirée

sans problème l’ami. je te remercie énormément.
Bon weekend.

Bonjour

Nouvelle version ci-jointe
Nouvelle formation pour un type de poste rajouté en fin de données onglet « Suivi des formations »
La nouvelle formation pour un salarié dont le poste répond au critère ne peux être présent qu’une fois dans le tableau (doublon impossible même si le traitement est rejoué plusieurs fois)

Fais des essais et dis moi

PROTO SUIVI FORM V3 26-06-2020.xlsm (95,1 Ko)

Bonjour @FOO,

C’est magnifique, je suis trop content, c’est exactement ce que je voulais.
Avec ton formulaire ça ne fait même pas le petit bug de recherche comme avec le premier formulaire nouveau salarié qui me fait un bug bizarre de recherche dans la liste des formations.
Peut on le supprimer sur le premier formulaire ? Dois-je ajouter un code spécifique pour cela ?

Je te remercie énormément.

Tu n’as pas bien lu ma 2° réponse concernant les Bugs du formulaire « FORMULAIRE NOUVEAU SALARIE »

J’avais écrit ceci :

J’ai testé ton formulaire onglet « NOUVEAU SALARIE » (FORMULAIRE NOUVEAU SALARIE)
Beaucoup de difficulté à le faire fonctionner car bug à répétition que j’ai corrigé

Attention à ne pas modifier la structure de tes tableaux les lignes de code qui ne fonctionnaient plus en on souffert :

[tblJournaldeformation[Date de la formation]].Rows(1) = « à former »

le champ « Date de la formation » recherché dans le tableau « Journaldeformation » n’existait plus en l’état plantage !!!
Et oui dans l’onglet « Suivi des formations » en cellule C19 où il se trouve il n’est plus tout à fait identique tu as rajouté pour le mettre en 2 lignes un retour chariot dévastateur
Je l’ai supprimé et bingo la ligne de code fonctionne

Idem sur cette ligne de code :

[tblJournaldeformation[INTERNE/EXTERNE]].Rows(1) = [tblListedescours[@ORGANISME]].Text

le champ « INTERNE/EXTERNE » souffrait de la même maladie après correction la ligne a repris du service

Pour au bout de compte inscrire le nouveau avec tout son CV en tête de tableau dans cet onglet

Sur la dernière version ces bugs n’y sont plus ayant corrigé les anomalies qui en sont à l’origine

Donc sur cette dernière version fais des essais de ce formulaire cela ne devrait plus poser de PB

Ravi que cela te convienne
N’oublies pas de valider ma proposition
Un petit plus très appréciable

Merci de ton aide @FOO. C’est vraiment très gentille de ta part de m’aider et m’éclaircir mes erreurs.
Par contre, est il possible de rajouter le remplissage automatique de les cellules :

  • date de la formation : avec la mention « à former »
  • Formateur : avec le nom du formateur
  • Interne/Externe
  • Heures : avec la durée de la formation
    Je n’ose pas modifier ton code, car je sais que je vais tout bousiller en le faisant.

Ensuite, j’aurais une petite question concernant ma colonne recyclage. Est-il possible d’intégrer une formule me permettant de rajouter un nombre d’années liée a la formation donnée. Par exemple la formation Générale sécurité le recyclage se fait tous les 5 ans alors qu’une formation électrique le recyclage se fait tous les 3 ans.

"* date de la formation : avec la mention « à former »

  • Formateur : avec le nom du formateur
  • Interne/Externe
  • Heures : avec la durée de la formation"

Où je puise ces informations ???

« Est-il possible d’intégrer une formule me permettant de rajouter un nombre d’années liée a la formation donnée. Par exemple la formation Générale sécurité le recyclage se fait tous les 5 ans alors qu’une formation électrique le recyclage se fait tous les 3 ans. »

Concrètement cela doit se traduire par quoi dans cette colonne (merci de fournir quelques exemples)

Date de la formation c’est seulement un message indiquant que la personne est « à former »

Pour les points suivants :

  • Formateur : avec le nom du formateur
  • Interne/Externe
  • Heures : avec la durée de la formation

Les informations sont dans l’onglet « liste des formations »

Pour la deuxième partie : De base je souhaitais rajouter un calcul automatique qui me permet de définir le prochain recyclage de la personne. Mais étant donnée que toutes les formations n’ont pas la même duré de validité le recyclage n’est pas à la même date.

Exemples :

Date de formation : 30/06/2020
Formation : Générale sécurité (validité 5 ans)
Date de recyclage : 30/06/2025

Date de formation : 30/06/2020
Formation : Habilitation électrique (validité 3 ans)
Date de recyclage : 30/06/2023

Peut-être, il faudrait rajouter une colonne supplémentaire avec la validité ?

« Les informations sont dans l’onglet « liste des formations » »
Pour « FORMATION TEST » « ACHETEUR » j’ ai pris les données onglet « Liste des formations » ligne 70

Pour la 2° partie pas d’autre choix que par formule car à la base aucune date de formation colonne C pour réaliser un calcul
Cette formule doit se baser sur cette date en colonne dés qu’elle sera saisie mais aussi de la Formation en colonne E qui malheureusement est un peu noyée dans la donnée de la cellule de cette colonne
Il serait bien ou en fin ou en début de mettre un caractère spécifique sur laquelle la formule s’appuiera pour détecter l’une ou l’autre formation par exemple :

« <Formation sécurité générale »
« >SP013 SP014 . Sécurité électrique, consignation déconsignation »

le caractère < et > permet de détecter la formation concernée
Si l’on s’en tient uniquement aux libellés actuelles des formations colonne E je craint que la formule mise en place ai des difficultés a bien cerner le cas concerné
A toi de voir et de faire ton choix

Ci-joint ton fichier avec la 1° partie souhaitée intégrée

Fais des tests et dis moi

PROTO SUIVI FORM V3 26-06-2020.xlsm (96,2 Ko)