• Initiateur de la discussion Initiateur de la discussion gillesdu64
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

G

gillesdu64

Guest
Je travail sur vba et je cherche un mot en fonction du donnée d'une textbox. j'ai donc fait un macro excel ou j'ai modifié le texte à chercher, ca donne:

Cells.Find(What:="=*" & worktype.Text & "*", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate

Mais ca me donne un erreur. type 91...?

je ne sais pas comment l'arranger quelqu'un c quoi faire?

merci aplus
 
Re : Macro Find

Bonjour Gilles

A priori ton code devrais fonctionner, si la valeur recherchée est bien dans le textbox "worktype" et qu'elle correspond à une valeur dans une formule de la feuille active. Attention, tu dois tenir compte des minuscules / majuscules.

sinon, mets ton fichier en pièce jointe sans données confidentielles.

bon après midi
@+
 
Re : Macro Find

oui, le truc c'est que cela marche si je met le mot à chercher genre "vibration survey" mais quand je met le text box il met dit que "object variable or with block variable not set" cela ve dire quoi.

Désolé mais je ne peut mettre tout le fichier, c'est quelque chose d'enorme.
merci
 
Re : Macro Find

Re

ton textbox est placé où, sur un USF ? si ta macro n'est pas dans le module de l'usf, fait précédé le nom de ton textbox de celui de l'USF, comme ceci :

Code:
UserForm1.worktype.Text

par contre le message d'erreur ne semble pas correspondre, a voir, mais sans fichier, difficile de t'en dire plus...

@+
 
Re : Macro Find

oui ma textbox est bien dans la userform et meme avec le nom sa ne marche pas. voici le bout de code qui correspond à ma recherche.
doisje faire un set quelque chose?
si tu ne voi pas avec ce j'essayerai d'envoyer le fichier entier.
merci

code:

If worktype <> "" Then
Cells(1, 1).Select
Cells.Find(What:="=*" & FSR_Check.worktype.Text & "*", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
ligne = Selection.Row
Cells.FindNext(After:=ActiveCell).Activate
Else: End If
 
Re : Macro Find

c bon j'ai trouvé il suffisait de mettre tout simplement:
Cells.Find(What:=worktype.Text, After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
et ca marche merci de ton aide en tout cas
 
Re : Macro Find

Re

tu fais un "findnext", est ce bien utile ? ton "End if" mal placé, essye comme ci dessous :

Code:
If worktype <> "" Then
Cells.Find(What:="=*" & FSR_Check.worktype.Text & "*", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False).Activate
Else

End If

par contre si tu risques de ne pas retrouver la valeur, et c'est plus propre passe par un "set" pour controler si présent :


Code:
Dim c As Range
If worktype <> "" Then
    Set c = Cells.Find(What:="=*" & FSR_Check.worktype.Text & "*", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
    If Not c Is Nothing Then c.Activate
Else
End If

@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
2
Affichages
588
Réponses
3
Affichages
639
Réponses
12
Affichages
1 K
E
Réponses
5
Affichages
2 K
EDI9366
E
Retour