VBA excel: ajouter une condition

Bonjour,

Ce fichier nous sert pour rechercher par nom (dans la feuille "visualisation formations") la dernière formation faite (de la feuille "Saisie formations réalisées). Donc, dans la feuille visualisation formations", on cherche par nom et on obtient les formations faites par cette personne.

a. Je souhaite paramétrer ma macro pour avoir comme résultat, en sélectionnant un Nom de la liste déroulante présente sur la feuille "visualisation formations", seulement les personnes présents en entreprise (colonne "sorti effectif" de la feuille "Saisie des formations réalisées" soit vide).

b. De même, je souhaite mettre une autre condition pour que ma recherche du Nom sur la feuille "visualisation formations", pour ne me renvoyer que la ligne de la formation faite ayant une date dans la colonne "A faire" dans notre base de donnée présente dans la feuille "Saisie formations réalisées".

Exemple: si je cherche: "DUPONT Bernard", je veux rien qui ne s'affiche car la colonne "sorti effectif" n'est pas vide pour DUPONT Bernard. Par contre si je cherche "DUPONT Jean Pierre", je veux avoir l'affichage de deux résultats: la ligne de la formation "Sécu des biens" avec la date "A faire" 4/10/2024 et la ligne de la formation "Sécu des personnes" avec la date "A faire" 31/01/2020.

Merci d'avance!

6copie-de-excel.xlsm (245.64 Ko)

Bonjour et bienvenue sur le forum

Un essai à tester. Te convient-il ?

2excel-v1.xlsm (247.21 Ko)

Bye !

Merci pour ce modèle. Ceci marche bien pour le premier tableau "formations réalisées" mais bloque le second tableau "Formations nécessaires", or la macro utilisée avant de mettre les conditions fonctionne en parallèle pour les deux tableaux (feuille "visualisation formations").

De plus, les personnes ayant un sorti effectif n'apparaissent plus dans la liste déroulante "nom".....

Bonjour

Je n'ai pas touché au 2° tableau , ne sachant pas ce qu'il fallait y mettre.

Je veuw bien essayé de ke remplir si tu m'expliques...

Bye !

Bonjour, merci pour votre retour.

Les deux macros ci-dessous (une dans module 1 et l'autre dans la feuille "Visualisation formations") permettent de filtrer par "nom" (la liste déroulante des noms). Après, on a paramétré les critères qu'on souhaite avoir de la feuille "Saisie formations réalisées" pour le nom séléctionné. Pour faire ça, on a nommé dans la feuille "Visualisation formations":

1. "personne_formations_faites" la plage de cellules contenant le critère "nom" à filtrer

2. "ret_formations_faites" "ret_formations_à_faire" : les critères à chercher du tableau dans la feuille "Saisie formations réalisées"

Normalement dans la macro développée par vous, les critères des deux tableaux doivent êtres paramétrées ensembles....

Module 1

Sub filtrer_formations_faites()
Range("Saisie_formations_réalisées").AdvancedFilter Action:=xlFilterCopy, criteriaRange:=Range _
("personne_formations_faites"), CopyToRange:=Range("ret_formation_formations_faites"), Unique:=False
Range("Saisie_formations_réalisées").AdvancedFilter Action:=xlFilterCopy, criteriaRange:=Range _
("personne_formations_faites"), CopyToRange:=Range("ret_formation_formations_à_faire"), Unique:=False
End Sub

Feuille "Visualisation formations"

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("nom")) Is Nothing Then
Call filtrer_formations_faites
End If

End Sub

Bonjour

Nouvel essai

1excel-v2.xlsm (249.14 Ko)

Bye !

Rechercher des sujets similaires à "vba ajouter condition"