Recherche dans un fichier excel

Résolu
DarkRider26 Messages postés 32 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 15 juin 2006 - 21 avril 2006 à 11:25
DarkRider26 Messages postés 32 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 15 juin 2006 - 21 avril 2006 à 11:41
Bonjour à tous !

J'ai un fichier excel qui me sert de base de données. Mes champs sont de type : code société, code établissement, nom, prénom, matricule etc ...

Je dois rechercher dedans les personnes de code société 01, de code etablissement ROM, dont la date d'entrée est comprise entre le 28/02/2006 et le 30/03/2006. Le champs date entrée est dans les champs, et sous format date normal.

Voici mon code :

Sub recherche()

Dim i As Integer
i = 1

While Cells(i, 1) <> ""

While Cells(i, 1) = "01"

While Cells(i, 3) = "ROM"

While "28/02/2006" < Cells(i, 17) < "30/03/2006"
MsgBox (Cells(i, 6))

Wend
i = i + 1
Wend
i = i + 1
Wend
i = i + 1
Wend

End Sub

Ce n'est qu'une bribe mais il ne fonctionne déja pas ... En effet vb et excel plante, enfin il ne répondent pas et rien n'abouti ... je suis obligé de faire Echap.
Je pense déja que mon algo est faux et aussi que la recherche des dates dans mon while n'est pas correct mais je ne sais pas faire

Please help ^^.

Merci beaucoup d'avance !!

Greg

3 réponses

econs Messages postés 4030 Date d'inscription mardi 13 mai 2003 Statut Membre Dernière intervention 23 décembre 2008 24
21 avril 2006 à 11:30
Salut,



Ptites corrections :





Sub recherche()



Dim i As Integer

i = 1



While Cells(i, 1) <> ""

If Cells(i, 1) = "01" Then

If Cells(i, 3) = "ROM" Then

If "28/02/2006" < Cells(i, 17) And Cells(i,17) < "30/03/2006" Then

MsgBox (Cells(i, 6))

End If

End If

End If

i = i + 1

Wend



End Sub




Manu
3
DarkRider26 Messages postés 32 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 15 juin 2006
21 avril 2006 à 11:35
tu pense qu'il faut faire avec des if ?
En fait dans cette base d'une traitaine de champs, j'ai 1400 enregistrements lol !!!

Je viens de tenter ça tourne, mais le soucis est que même sur un essai de 5 enregistrement dont un qui doit marcher cad me mettre la MsgBox, et bien le teste sur la date ne fonctionne pas. La case cells(i,17) est en format date, mais je ne vois pas comment faire ...

En tout cas merci beaucoup déja !! Si tu as une petite idée pour la date ?
0
DarkRider26 Messages postés 32 Date d'inscription mardi 7 mars 2006 Statut Membre Dernière intervention 15 juin 2006
21 avril 2006 à 11:41
EUREKA !§! le secret est là : CDate

Sub recherche()

Dim i As Integer
i = 1

While Cells(i, 1) <> ""
If Cells(i, 1) = "01" Then
If Cells(i, 3) = "ROM" Then
If CDate("28/02/2006") < Cells(i, 17) And Cells(i, 17) < CDate("30/03/2006") Then
MsgBox (Cells(i, 6))
End If
End If
End If
i = i + 1
Wend

End Sub

Ca marche !! merci encore ! par contre comment fait tu pour mettre le code ici avec les couleurs ?
0
Rejoignez-nous