VBA utiliser TextBox.Value ds un Cells.Find
Fermé
Antoine
-
7 avril 2010 à 09:16
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 7 avril 2010 à 12:04
michel_m Messages postés 16603 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 7 avril 2010 à 12:04
A voir également:
- Vba userform get value from textbox
- Win setup from usb - Télécharger - Utilitaires
- Incompatibilité de type vba ✓ - Forum Programmation
- Vba checkbox value ✓ - Forum Excel
- Get data back - Télécharger - Récupération de données
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
3 réponses
chossette9
Messages postés
4239
Date d'inscription
lundi 20 avril 2009
Statut
Contributeur
Dernière intervention
12 septembre 2014
1 308
7 avril 2010 à 09:35
7 avril 2010 à 09:35
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.
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié par michel_m le 7/04/2010 à 11:53
Modifié par michel_m le 7/04/2010 à 11:53
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
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
7 avril 2010 à 12:04
7 avril 2010 à 12:04
concernant le pb sur la somme, tuu pourrais laisser VBA faire le calcul puisque c'est ton code qui détermine la plage (attention texbox dans le code du formulaire)
Cells(DateRow, 1)=application.sum(range("A" & TextBox1.Value & ":A99")
7 avril 2010 à 09:41
L'erreur vient donc d'autre part.
Cordialement.
7 avril 2010 à 10:00
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 !
Modifié par chossette9 le 7/04/2010 à 10:07
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 :
7 avril 2010 à 11:10
"Erreur d'exécution '424'
Objet requis "