Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

probleme find et date

paskikic

XLDnaute Occasionnel
bonjour les xlnautes

j ai un petit soucis de recherche avec la methode find.

je recherche une date sur une bdd, mon code fonctionne pour certaine date mais pas pour d autres:

explication avec ce code :

Set Trouve_date = PlageDeRecherche.Cells.Find(what:=Format(Date_Cherchee, "mm/dd/yyyy"), LookAt:=xlWhole)

toutes les dates du type 12/01/2016 sont trouvees mais des qu il y a un 0 devant comme 01/01/2016 il ne me les trouve pas

auriez une solution svp merci
 

st007

XLDnaute Barbatruc
Re : probleme find et date

Bonjour,
tu aurais un bout de fichier

Code:
Sub Bouton1_Clic()
 Dim c As Range
 Set c = Feuil1.Columns(2).Find(What:=Date, LookAt:=xlWhole)
 c.Offset(, 1).Select
End Sub
 

paskikic

XLDnaute Occasionnel
Re : probleme find et date

re bonjour

voici le code complet


Sub test_jour()

'déclaration des variables :
Dim Trouve_date As Range, Trouve_ville As Range, PlageDeRecherche As Range
Dim Date_Cherchee As String, Ville_Cherchee As String
Dim ligne_date As String, ville As String
Dim nbr_boutique As String, fin_jour As String, fin_semaine As String


nbr_boutique = Application.WorksheetFunction.CountA(Sheets("BD").Rows(5))
fin_jour = nbr_boutique * 6

For i = 4 To 22 Step 3

For a = 11 To fin_jour Step 5


'********* à adapter ***********
'affectation de valeurs aux variables :

Date_Cherchee = Sheets("CA semaine").Cells(9, i)
Ville_Cherchee = Sheets("CA semaine").Cells(a, 1)
'dans la première colonne de la feuille active
Set PlageDeRecherche = Sheets("BD").Range("A1:IV65000")

'*******************************

'méthode find, ici on cherche la valeur exacte (LookAt:=xlWhole)

Set Trouve_date = PlageDeRecherche.Cells.Find(what:=Format(Date_Cherchee, "mm/dd/yyyy"), LookAt:=xlWhole)
Set Trouve_ville = PlageDeRecherche.Cells.Find(what:=Ville_Cherchee, LookAt:=xlWhole)

'traitement de l'erreur possible : Si on ne trouve rien :

If Trouve_date Is Nothing Or Trouve_ville Is Nothing Then

'ici, traitement pour le cas où la valeur n'est pas trouvée
If Trouve_date Is Nothing Then
MsgBox (" pas de date trouvee") & Date_Cherchee
Exit Sub
Else
MsgBox (" pas de ville trouvee") & Ville_Cherchee
Exit Sub
End If




Else
'ici, traitement pour le cas où la valeur est trouvée
' AdresseTrouvee = Trouve.Address
ligne_date = Trouve_date.Row
ville = Trouve_ville.Column

End If


With Sheets("CA semaine")

.Cells(a, i) = Sheets("BD").Cells(ligne_date, ville + 0)
.Cells(a, i).Offset(1, 0) = Sheets("BD").Cells(ligne_date, ville + 1)
.Cells(a, i).Offset(2, 0) = Sheets("BD").Cells(ligne_date, ville + 2)
.Cells(a, i).Offset(3, 0) = Sheets("BD").Cells(ligne_date, ville + 3)

End With

Set PlageDeRecherche = Nothing
Set Trouve_date = Nothing
Set Trouve_ville = Nothing



Next a

Next i

End Sub
 

Modeste geedee

XLDnaute Barbatruc
Re : probleme find et date

Bonsour®


1 - Dim Date_Cherchee As Date
2 - Date_Cherchee = CDate(Sheets("CA semaine").Cells(9, i))
3 - Set Trouve_date = PlageDeRecherche.Cells.Find(what:=Date_Cherchee, LookAt:=xlWhole)
 

Discussions similaires

Réponses
3
Affichages
897
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…