VBA utiliser TextBox.Value ds un Cells.Find
Antoine
-
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
michel_m Messages postés 18903 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour à tous !
Je cherche à utiliser une valeur entrée dans le TextBox d'un Userform pour faire une recherche dans la feuille.
En gros ça devrait donner ça mais ça ne fonctionne pas ! :
Cells.Find(What:=TextBox2.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
Par ailleurs je cherche à utiliser aussi la valeur d'un TextBox dans un Cells(i,j).FormulaLocal,
par exemple :
Cells(DateRow, 1).FormulaLocal = "=SOMME(""A"" & TextBox1.Value:""A99"")
mais je ne sais pas comment le coder exactement !
Merci beaucoup pour votre aide
Je cherche à utiliser une valeur entrée dans le TextBox d'un Userform pour faire une recherche dans la feuille.
En gros ça devrait donner ça mais ça ne fonctionne pas ! :
Cells.Find(What:=TextBox2.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False)
Par ailleurs je cherche à utiliser aussi la valeur d'un TextBox dans un Cells(i,j).FormulaLocal,
par exemple :
Cells(DateRow, 1).FormulaLocal = "=SOMME(""A"" & TextBox1.Value:""A99"")
mais je ne sais pas comment le coder exactement !
Merci beaucoup pour votre aide
A voir également:
- Textbox1.value
- Comment utiliser chromecast sur tv - Guide
- Utiliser iphone comme webcam - Guide
- Utiliser tablette comme deuxieme ecran - Guide
- Comment utiliser teamviewer - Guide
- Comment utiliser wetransfer - Guide
3 réponses
Bonjour,
pour pouvoir chercher dans la feuille une cellule contenant la valeur de ta TextBox, il faut rajouter ".Activate à la fin de la recherche :
En ce qui concerne la somme, vu que le VBA est un langage anglais, peut être que tu devrais mettre "=SUM(...)"
Cordialement.
pour pouvoir chercher dans la feuille une cellule contenant la valeur de ta TextBox, il faut rajouter ".Activate à la fin de la recherche :
Cells.Find(What:=TextBox2.Value, After:=ActiveCell, LookIn:=xlFormulas, _ LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _ MatchCase:=False, SearchFormat:=False).Activate
En ce qui concerne la somme, vu que le VBA est un langage anglais, peut être que tu devrais mettre "=SUM(...)"
Cordialement.
bonjour,
ton code marche si ton bout de macro est dans l'userform
par exemple ci dessous, la recherche est lancée par appui sur un bouton de l'userform
(je n'ai pas tenu compte de xlpart, excuse moi)
regarde cette petite démo:
https://www.cjoint.com/?ehlVkJW6eu
edit:
avec xlpart
laligne = Cells.Find(TextBox1, , xlValues, xlpart).Row
:-x
ton code marche si ton bout de macro est dans l'userform
par exemple ci dessous, la recherche est lancée par appui sur un bouton de l'userform
(je n'ai pas tenu compte de xlpart, excuse moi)
Private Sub CommandButton1_Click() 'test = TextBox1 On Error Resume Next laligne = Cells.Find(TextBox1, , xlValues).Row If Err.Number > 0 Then MsgBox "valeur inconnue" Else MsgBox "ligne: " & laligne End If End Sub
regarde cette petite démo:
https://www.cjoint.com/?ehlVkJW6eu
edit:
avec xlpart
laligne = Cells.Find(TextBox1, , xlValues, xlpart).Row
:-x
L'erreur vient donc d'autre part.
Cordialement.
MaLigne = Cells.Find(What:=TextBox2.Value, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False).Activate.Row
Mais ça ne fonctionne pas !
tu ne peux pas le faire en une seule fois !
Tu dois d'abord faire ta recherche :
et à la ligne d'en dessous, récupérer le numéro de ligne :
"Erreur d'exécution '424'
Objet requis "