Recherche date VBA sur ligne

Bonjour,

J'ai une feuille "Absence" (feuil3) , avec une liste de dates transformées au format texte ( les dates sont uniques) en ligne 4 (ça commence en B4 ça termine en HO4). Si possible se concentrer uniquement sur la ligne 4.

Je souhaiterai créer une inputbox sur cette feuille Absence pour faciliter la recherche d'une date.

On appuie sur un bouton.

On entre la date recherchée, et hop la cellule correspondante est activée ,et la feuille se recentre sur cette date trouvée.

Je vais être tout à fait honnête, je n'y connais strictement rien en VBA. J'ai commencé à lire les cours… mais mon cerveau a du mal à assimiler .

J'ai trouvé ceci sur internet:

Sub recherche_dans_la_feuille()
Sheets("Absence").Activate
Dim valeur As String, c As Range
valeur = InputBox("Date recherchée")
Set c = Cells.Find(What:=valeur, After:=ActiveCell, LookIn:=xlFormulas, LookAt _
:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
False, SearchFormat:=False)
If Not c Is Nothing Then c.Select
End Sub

A partir de Set c, je ne comprends plus rien

ça m'ouvre bien l'inputbox, je rentre une date mais rien ne se passe.
Ma date étant donc au format texte, je dois bien laisser valeur en String ? ( et non Date?)

Au plaisir de vous lire.

Bonjour malkha,

Possible de joindre un fichier anonymisé svp ?

Cela sera plus facile pour ton montrer et t'aider !

Sache qu'en cliquant sur la fonction sur la fonction que tu ne comprend pas (ici find) et en pressant F1, tu as l'aide de Microsoft qui va apparaître ! En l'occurrence, ici avec find, cela va te donner ceci !

Bonne journée,

Baboutz

Une proposition :

103malkha.xlsm (17.97 Ko)

La feuille concernée !

je vais regarder ta proposition ! Merci beaucoup !

72macroabsence.xlsx (44.03 Ko)

OH c'est super merci beaucoup !

Sur ton fichier les dates sont en format date donc la macro ne fonctionne par car valeur est en string ? (j'ai bien tout compris? )
Si j'applique ta macro sur ma feuille, cela fonction ( c'est génial ! )
Si on voulez que cela fonctionne sur ta feuille, il aurait fallu que l'on remplace string, en valeur date?

Que signifie x1Values?

Sinon j'ai bien compris la partie avec IF.

Pour l'apprentissage et la curiosité :
Je vais essayer de voir pour créer une macro:
dans une inputbox, avec la liste de nom ( déroulante ou pas), puis en écrivant la date pour selectionner le croisement ligne colonne.
Je reviendrai vers vous avec mes premiers brouillons.

Si vous avez des indices pour aiguiller l'exercice, je suis preneur !

Concernant les aides microsoft, merci pour l'astuce du F1.
Rien que pour excel de base, ça commence toujours sur l'aide de microsoft, et ça finit toujours sur les cours d'excel pratique (beaucoup plus clair à mes yeux)

Encore merci pour ton aide et ta réactivité

Re,

Pas de soucis

Que signifie x1Values?

LookIn:=xlValues signifie que l'on recherche les valeurs de la cellule, pas les formules par exemple ! La méthode fin est plutôt bien expliquée ici !

Je ne comprend pas pourquoi ça marche pas sur le fichier que je vous ait envoyé... Si ça marche sur le votre c'est le principal.

N'hésitez pas à revenir,

Bonne soirée,

Baboutz

Rechercher des sujets similaires à "recherche date vba ligne"