Recherche sous conditions

jammy17

XLDnaute Occasionnel
Bonsoirs les Xldnautes !!

me voilà de retour avec un nouveau problème que je n'arrive pas a resoudre....
dans un fichier je rempli des mouvements de personnel à l'aide d'un userform dans lequel
nous choisissons un noms, on saisie le lieu de départ, d'arivée et la date du mouvement à l'aide du code suivant :

Private Sub CommandButton1_Click()
With Sheets("ESSAI").UsedRange
' on trie par date car les les lignes doivent être en ordre croissant
Dim Lign As Integer
Lign = .Range("B65536").End(xlUp).Row + 1
.Cells(Lign, 1) = Me.noms
.Cells(Lign, 2) = Me.Prov
.Cells(Lign, 3) = Me.Dest
.Cells(Lign, 4) = CDate(Date_mouv)
End With
Call Tri
End Sub
Private Sub Tri()
With Sheets("ESSAI").UsedRange
.Sort key1:=.Cells(1, 4), order1:=xlAscending, Header:=xlYes ' on trie par date car les les lignes doivent être en ordre croissant
End With
End Sub

je souhaiterais maintenant trouver un code qui me permette d'alimentaire les textbox (pr_date et der_date)
dans pr_date : la date du mouvement precedent le mouvement creer dans l'userform et correspondant au nom de l'individu
dans der_date : la date du mouvement suivant le mouvement creer dans l'userfor et correspondant au nom de l'individu

du genre :
sheets("ESSAI").select
dim Plage as range
With sheets("ESSAI")
Set Plage=.range("B2:B" & .range("A65536).End(xlUp).row)
end with

if cel.offset(0,0) like Me.noms and cel.offset(0,3)<Date_mouv then
selectionne la ligne precedents le mouvement et inscrit le dans pr_date
if cel.offset(0,0) like Me.noms and cel.offset(0,3)>Date_mouv then
selection la ligne ayant la date directement apres mon mouvement et inscrit le dans der_date

ci joint le fichier

si quelqu'un a une idée je suis preneur car je suis bloqué avec ca depuis un bon moment

d'avance merci pour votre aide......
 

Pièces jointes

  • ESSAI.zip
    21.3 KB · Affichages: 21
  • ESSAI.zip
    21.3 KB · Affichages: 25
  • ESSAI.zip
    21.3 KB · Affichages: 24
  • essais.jpg
    essais.jpg
    68.7 KB · Affichages: 35
Dernière édition:

Dranreb

XLDnaute Barbatruc
Re : Recherche sous conditions

Bonjour.

J'aurais bien une idée. Ce serait un dictionnaire arborescent à un seul niveau sur le nom. Il permettrait d'obtenir une liste classée sans doublon pour le ComboBox et pour chacun la liste des numéros de lignes s'y rapportant.
 

jammy17

XLDnaute Occasionnel
Re : Recherche sous conditions

oui effectivement , le classeur est un truc bidouillé rapidement pour presenter mon problème, ce n'est pas le fichier de base
qui rempli la liste des noms sans doublons,
ce que je recherhe ici est une macro qui balaye l'ensemble des ligne, qui repere les lignes correspondant au nom selectionné dans la textbox "noms" et qui m'indique dans les textbox pr_date et der_date , le date correspondant au mouvement du nom encadrant la date du mouvement effectué, pr_date=dernier mouvement affectué avant la date du mouvement actuel et der date, mouvement "directement" suivant du nom selectionné.
 

jammy17

XLDnaute Occasionnel
Re : Recherche sous conditions

J'en convient Dranreb, merci pour ces précisions, mais ce n'est pas exactement ce que je recherche,
il me faut balayer toute la liste car dans mon classeur d'origine, les noms peuvent revenir à multiple reprises.......
et il me faut absolument encadrer cette date saisie nouvellement...
cordialement
 

Dranreb

XLDnaute Barbatruc
Re : Recherche sous conditions

Je ne comprends pas votre objection. Bien sûr qu'un nom revient à multiples reprises, c'est le cas dans votre exemple.
J'ai presque fini de revoir l'Userform pour que soient toujours affichées, pour la personne sélectionnée, les dates qui encadrent celle saisie, qu'elle soit enregistrée ou non.
 

jammy17

XLDnaute Occasionnel
Re : Recherche sous conditions

Re BONSOIR, je reviens vers vous, l'aidede Danreb est très enrichissante mais malheureusement pas adaptable à mon projet
dans le projet en cour (il faudrait que je reecrive tout) je rempli une base de donnee en par la methode citée ci dessus, car je vais chercher les informations dans une dizaine de textbox et listbox qui se remplissent via une listview.
en suite je trie les donnees en fonction de la date, et je dois à partir de là je souhaite effectuer une recherche vers le haut et vers la bas sous condition d'avoir le meme nom et 2 autres conditions.
est il possible en s'inspirant du projet de danreb de definir la ligne que nous venons" d'inclure" et avec le "tri effectué" comme ligne de reference ? et ensuite monter dans le fichier vers le haut ou aller vers le bas pour effectuer la recherche proporement dite......?
 

Dranreb

XLDnaute Barbatruc
Re : Recherche sous conditions

Bof. S'il y a des condition portant sur d'autres colonnes, il est possible de faire facilement un dictionnaire arborescent à plusieurs niveaux les intégrant toutes. Il y a d'autre modules de services pour gérer automatiquement des ComboBox liés si ça vous intéresse.
 

Discussions similaires

Statistiques des forums

Discussions
312 215
Messages
2 086 329
Membres
103 183
dernier inscrit
karelhu35