[ RESOLU] Extraire des données d'une feuille suivant 3 critères

Ternoise

XLDnaute Occasionnel
Bonjour le forum.

Ayant passé une bonne partie de la journée à chercher, fouiner, prenant exemple. Ma inexpérience à pris le dessus.

Donc

Dans une feuille "Utilisateur" j'aimerais extraire d'une feuille "Base", 14 lignes suivant 3 critères (Date début/Fin et utilisateur). De plus l'extraction doit être non modifiable par l'utilisateur.

Pas sûre d'être encore bien clair ! :confused: En pièce jointe un exemple

Merci de votre aide
David


PS : J'avais pourtant fais attention à mettre les Feuil1 (clin d'oeil à Job75) ! :p
 

Pièces jointes

  • DAVID - Transfert de données suivant 3 critères.xls
    86.5 KB · Affichages: 43
Dernière édition:

DoubleZero

XLDnaute Barbatruc
Re : Extraire des données d'une feuille suivant 3 critères

Bonjour, Ternoise, le Forum,

Un essai en pièce jointe.

Comme déjà "dit", ici :rolleyes:, les cellules fusionnées :mad: sont à bannir !

A bientôt :)
 

Pièces jointes

  • 00 - Ternoise - Extraire suivant trois critères.xls
    119 KB · Affichages: 41

Ternoise

XLDnaute Occasionnel
Re : Extraire des données d'une feuille suivant 3 critères

Bonjour et merci beaucoup DoubleZero

Cela fonctionne quand on envoi de "Base" au "Utilisateurs" (Malgré que mes beaux tableaux "Utilisateurs" sont détruits) !!! snif

En fait, c'est le contraire que j'aurais aimé. En arrivant sur la feuille d'un utilisateur, la fonction se déclenche pour seulement cet utilisateur. Donc avec Worksheet_Activate(). et en prenant pour critères les dates et nom d'utilisateur indiqué dans la feuille utilisateur.

Merci beaucoup
David
 

Pièces jointes

  • DAVID - Transfert de données suivant 3 critères.xls
    97 KB · Affichages: 31
Dernière édition:

job75

XLDnaute Barbatruc
Re : Extraire des données d'une feuille suivant 3 critères

Bonjour Ternoise, DoubleZero :)

Comme déjà "dit", ici :rolleyes:, les cellules fusionnées :mad: sont à bannir !

C'est un vieux saucisson qui traîne sur ce forum, moi elles ne m'ont jamais gêné.

Surtout pas ici.

Voyez le fichier joint et les macros en Feuil1 et ThisWorkbook.

Précisions :

- toutes les feuilles sont protégées avec le mot de passe Ternoise

- les cellules liées aux objets (C6 et I4 en feuille Base, I3 dans les autres feuilles) doivent avoir été déverrouillées

- en feuille Base, si la ComboBox n'est pas renseignée, toutes les lignes sont affichées

- la liste de la ComboBox se crée quand on clique dessus, elle est triée alphabétiquement.

A+
 

Pièces jointes

  • DAVID - Transfert de données suivant 3 critères(1).xls
    103 KB · Affichages: 35
Dernière édition:

Ternoise

XLDnaute Occasionnel
Re : Extraire des données d'une feuille suivant 3 critères

Bonjour à vous deux

Que dire...la magie est un faible mot !!!

Merci à vous deux pour votre patience et dévouement.

Bon aller, j'ose pas le dire, au risque de donner du piment à DoubleZero !!! :p
il y avait une petite erreur à la ligne "If lig = 21 Then Exit For"
J'ai modifié par "If lig = 20 Then Exit For" sinon la quatorzième ligne ne s’affiche pas.

Je n'ai pas changé celle-ci car cela fonctionne apparemment correctement
If lig < 21 Then Range("B" & lig & ":M20").ClearContents

Merci à vous deux

PS : A oui au fait, dans les feuilles "utilisateurs", colonne B, la validation des données s'affiche, on peux enlever ?

Bonne journée
David
 

job75

XLDnaute Barbatruc
Re : Extraire des données d'une feuille suivant 3 critères

Re,

Oui, au lieu de :

Code:
If lig = 20 Then Exit For
lig = lig + 1
il faut :

Code:
lig = lig + 1
If lig = 21 Then Exit For
Par ailleurs il est bien d'utiliser Option Compare Text.

Comparer le tri de la liste de la ComboBox avec celui du fichier (1).

Pas de problème, j'ai retiré les listes de validation en colonne B des feuilles UTILISATEUR.

Fichier (2).

A+
 

Pièces jointes

  • DAVID - Transfert de données suivant 3 critères(2).xls
    105 KB · Affichages: 29

Ternoise

XLDnaute Occasionnel
Re : Extraire des données d'une feuille suivant 3 critères

Re

Petit Problème sur la feuille "base"

Quand il n'y a pas d'utilisateurs dans le Combo (donc tous) et que l'on change les dates, rien ne se filtre.

Ou j'ai pas bien vu !

Cordialement

David
 

job75

XLDnaute Barbatruc
Re : Extraire des données d'une feuille suivant 3 critères

Re,

Oui, et c'est ce que j'ai dit.

Quand il n'y a pas d'utilisateur, les dates ne sont pas prises en compte, il n'y a pas de filtrage.

Et heureusement, sinon on ne pourrait jamais tout afficher...

A+
 

Ternoise

XLDnaute Occasionnel
Re : Extraire des données d'une feuille suivant 3 critères

Re

Point 1 :

Désolé de ma curiosité !

""Et heureusement, sinon on ne pourrait jamais tout afficher... ???""

J'arriverais à afficher les 14 jours de tous les utilisateurs, et c'est ce que j'aimerais en fait sur cette feuille !


Point 2 :
Les données dans cette base proviennent d'un UserForm grâce à ceci

.Cells(ligne, 4).NumberFormat = "dd/mm/yyyy"
.Cells(ligne, 4) = TextDate

Je pense qu'il ne faut pas NumberFormat car du coup la valeur date dans le tableau est considérée comme un nombre. ou j'ai pas compris !

Merci pour tous

David
 

job75

XLDnaute Barbatruc
Re : Extraire des données d'une feuille suivant 3 critères

Re,

Bon, comme vous voulez... Pour le Point 1 la macro modifiée dans Feuil1 du fichier (3) :

Code:
Sub Défilement()
Me.Unprotect "Ternoise" 'mot de passe
[O9] = "=AND(" & IIf([C6] = "", "TRUE", "C9=C$6") & ",D9>=G$5,D9<=J$5)" 'C6 cellule liée
With Range("B8:N" & Application.Match("zzz", [C:C]))
  .AdvancedFilter xlFilterInPlace, [O8:O9] 'filtre élaboré
End With
Me.Protect "Ternoise" 'mot de passe
End Sub
Pour le Point 2 je passe, à vous de voir.

Edit : avant d'aller faire dodo je simplifie quand même la formule en O9 :

Code:
Sub Défilement()
Me.Unprotect "Ternoise" 'mot de passe
[O9] = "=AND(" & IIf([C6] = "", "", "C9=C$6,") & "D9>=G$5,D9<=J$5)" 'C6 cellule liée
With Range("B8:N" & Application.Match("zzz", [C:C]))
  .AdvancedFilter xlFilterInPlace, [O8:O9] 'filtre élaboré
End With
Me.Protect "Ternoise" 'mot de passe
End Sub
Bonne nuit et A+
 

Pièces jointes

  • DAVID - Transfert de données suivant 3 critères(3).xls
    104 KB · Affichages: 28
Dernière édition:

job75

XLDnaute Barbatruc
Re : [ RESOLU] Extraire des données d'une feuille suivant 3 critères

Bonjour Ternoise, le forum,

Il est quand même utile de pouvoir afficher toutes les données en feuille Base :

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next: Me.ShowAllData
End Sub
Cela se produit quand la protection de la feuille a été ôtée et qu'on sélectionne une cellule.

Fichier (4).

Bonne journée et A+
 

Pièces jointes

  • DAVID - Transfert de données suivant 3 critères(4).xls
    105 KB · Affichages: 38

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16