Bonjour à toutes et tous!
j'essaye, pour le boulot, de réaliser une pointeuse automatique sur Excel.
Je me sert donc de l'heure interne du pc ainsi que de la date...
Je rencontre un souci dans la phase suivante.
l'utilisateur encode ses heures dans un userform puis les transfert dans une feuille excel en regard de la date du jour.
j'utilise donc une fonction "Find"
je recherche la date du jour dans le tableau. la date du jour étant donnée par une formule je mets donc dans ma fonction Lookinxl:=xlvalues.
Le format de la date dans la cellule du classeur étant "j jjj" (ex "15 jeu"), je met donc ma fonction Date dans vba sous le format "d ddd" (format (date, "d ddd")
et c'est là qu'intervient mon problème!
quand je lance la recherche, il ne trouve pas d'équivalence, mais si j'encode manuellement 15 jeu (pour reprendre l'exemple) là, il me retrouve la cellule!
Pourquoi est-ce qu'il ne la trouve pas quand la valeur est donnée par une formule et qu'il la trouve si j'encode manuellement? En sachant que dans ma fonction Find, j'utilise la propriété LookIn:=xlValues???
voici le code que j'utilise:
Private Sub CommandButton8_Click()
'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As Variant, AdresseTrouvee As Variant, varDate As Variant
Valeur_Cherchee = Format(Date, "d dddd")
Set PlageDeRecherche = Sheets("Calendrier").Range("A4:BT34")
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookIn:=xlValues, LookAt:=xlWhole)
If Trouve Is Nothing Then
AdresseTrouvee = Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address
Else
AdresseTrouvee = Trouve.Address
End If
MsgBox AdresseTrouvee
j'essaye, pour le boulot, de réaliser une pointeuse automatique sur Excel.
Je me sert donc de l'heure interne du pc ainsi que de la date...
Je rencontre un souci dans la phase suivante.
l'utilisateur encode ses heures dans un userform puis les transfert dans une feuille excel en regard de la date du jour.
j'utilise donc une fonction "Find"
je recherche la date du jour dans le tableau. la date du jour étant donnée par une formule je mets donc dans ma fonction Lookinxl:=xlvalues.
Le format de la date dans la cellule du classeur étant "j jjj" (ex "15 jeu"), je met donc ma fonction Date dans vba sous le format "d ddd" (format (date, "d ddd")
et c'est là qu'intervient mon problème!
quand je lance la recherche, il ne trouve pas d'équivalence, mais si j'encode manuellement 15 jeu (pour reprendre l'exemple) là, il me retrouve la cellule!
Pourquoi est-ce qu'il ne la trouve pas quand la valeur est donnée par une formule et qu'il la trouve si j'encode manuellement? En sachant que dans ma fonction Find, j'utilise la propriété LookIn:=xlValues???
voici le code que j'utilise:
Private Sub CommandButton8_Click()
'déclaration des variables :
Dim Trouve As Range, PlageDeRecherche As Range
Dim Valeur_Cherchee As Variant, AdresseTrouvee As Variant, varDate As Variant
Valeur_Cherchee = Format(Date, "d dddd")
Set PlageDeRecherche = Sheets("Calendrier").Range("A4:BT34")
Set Trouve = PlageDeRecherche.Cells.Find(what:=Valeur_Cherchee, LookIn:=xlValues, LookAt:=xlWhole)
If Trouve Is Nothing Then
AdresseTrouvee = Valeur_Cherchee & " n'est pas présent dans " & PlageDeRecherche.Address
Else
AdresseTrouvee = Trouve.Address
End If
MsgBox AdresseTrouvee