recherche date et pointe sur lafeuille coontenant le résultat

wasimd

XLDnaute Nouveau
Salut,
SVP, j'ai un problème concernant la réalisation d'une macro de recherche, je m'explique:
J'ai un champ qui contient une date entrée par l'utilisateur de mon agenda à travers un calendrier, le format de la date est 01 janvier 2009 par exemple,
j'aimerai affecter à mon bouton de recherche une macro qui permet de chercher la date saisie dans toutes les feuilles de mon classeur et si le résultat existe alors on pointe sur la feuille contenant cette date sinon un message du genre "la date saisie n'existe pas, vérifier si c'est un dimanche!!!"
Remarque: dans mon agenda je ne fait pas apparaître les dimanches.

vous trouverez en pièce jointe un exemple.
merci.
 

Pièces jointes

  • agendaV3.zip
    31.7 KB · Affichages: 44

kllmoon

XLDnaute Occasionnel
Re : recherche date et pointe sur lafeuille coontenant le résultat

Salut wasimd,

je ne peux pas regarder ton fichier il est corrompu... winzip peut être merdique parfois :)

Ce que tu veux faire semble fort simple. Avec l'enregistreur de macro, tu devrais y arriver ;)

Tu as besoin d'un inputbox, ton code de recherche et une fonction on error

Quand tu clique sur le bouton, recherche babla & Inputbox & blala.
Si erreur msgbox("la date saisie n'existe pas, vérifier si c'est un dimanche!!!")

Voilà, essais de trouver le bonne formulation si tu as besoin d'aide, j'ai unejournée tranquille au travail alors je repasserai ;)
 

wasimd

XLDnaute Nouveau
Re : recherche date et pointe sur lafeuille coontenant le résultat

merci c'est très gentil de ta part mais je suis novice en vba et mon problème c'est comment écrire le code( les instructions de ce langage de programmation)
j'ao essayé d'enregistrer une macro mais la macro généré ne pointe pas sur la feuille contenant le résultat.
 

kllmoon

XLDnaute Occasionnel
Re : recherche date et pointe sur lafeuille coontenant le résultat

Salut Wasi essais ceci

Code:
variab = InputBox("Que cherches-tu?")
Dim i As Integer
For i = 1 To 3 'remplace le 3 par le nombre d'onglets que tu as
On Error Resume Next
Sheets(i).Select 'remplace sheets par le nom de tes onglets
x = [A1:Z6000].Find(What:=variab, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Activate
If x = True Then Exit Sub

Next i
If x Is Nothing Then MsgBox ("Désolé j'ai rien trouvé")
 

wasimd

XLDnaute Nouveau
Re : recherche date et pointe sur lafeuille coontenant le résultat

Salut Wasi essais ceci

Code:
variab = InputBox("Que cherches-tu?")
Dim i As Integer
For i = 1 To 3 'remplace le 3 par le nombre d'onglets que tu as
On Error Resume Next
Sheets(i).Select 'remplace sheets par le nom de tes onglets
x = [A1:Z6000].Find(What:=variab, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByColumns).Activate
If x = True Then Exit Sub

Next i
If x Is Nothing Then MsgBox ("Désolé j'ai rien trouvé")



merci pour votre réponse mais en analysant le code j'ai compris que cela ne répond pas à mon besoi en effet moi je veux effectuer une recherche suivant une valeur existante dans une cellule excel et la recherche se lance uniquement lorsque je clique sur un bouton rechercher que j'ai créée dans ma ma feuille en plus pour optimiser mon code je veux chercher uniquement dans les champs existant c'est à dire pas dans toutes les cellules d'une feuille excel (A1:Z6000).

j'attend vos suggestion avec impatience. merci
 

kllmoon

XLDnaute Occasionnel
Re : recherche date et pointe sur lafeuille coontenant le résultat

Pour tirer une valeur existant dans une cellule, tu peux utiliser Range("A1").value ou [A1].value en remplaçant A1 par la cellule de ton choix.

Donc, variab = Range("A1").value

Pour ce qui est du range de recherche, as-tu vraiment plus de 6000 lignes et 26 colonnes dans ta feuille? Le range ne change pas grand chose, si les cases sont vides la macro passe à la prochaine alors on s'en fout. Au pire change le range pour ce que tu veux.
 

wasimd

XLDnaute Nouveau
Re : recherche date et pointe sur lafeuille coontenant le résultat

merci pour votre aide.
en effet ma remarque conernant le nombre de cellules parcouru par l'algorithme était dans le cadre de l'optimisation, car dans chaque feuille je n'ai qu'une centaine de cellules qui contiennent des valeurs donc je vois pas pourquoi parcourir toutes les cellules d'une feuille excel.
 

Discussions similaires

Statistiques des forums

Discussions
312 393
Messages
2 088 006
Membres
103 695
dernier inscrit
acimi