VBA - Trouver la valeur exacte d'une variable dans une plage
Fermé
Peon33
-
12 déc. 2013 à 17:03
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 20 déc. 2013 à 11:16
michel_m Messages postés 16602 Date d'inscription lundi 12 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2023 - 20 déc. 2013 à 11:16
A voir également:
- Vba find valeur exacte
- Trouver mon adresse exacte - Guide
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Find grep ✓ - Forum Linux / Unix
- Partition find and mount - Télécharger - Récupération de données
- Vba ouvrir un fichier excel avec chemin ✓ - Forum VB / VBA
4 réponses
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
12 déc. 2013 à 17:40
12 déc. 2013 à 17:40
Bonjour,
a adapter, ici recherche colonne A en partant d'un bouton de formulaire ( code vba sur la feuille)
A+
a adapter, ici recherche colonne A en partant d'un bouton de formulaire ( code vba sur la feuille)
Private Sub CommandButton1_Click()
Var = "toto qui"
Nbre = Application.CountIf(Columns("A"), "*" & Var & "*")
If Nbre > 0 Then
lig = Columns("A").Find(Var, Range("A1"), , xlPart).Row
Range("A" & lig).Select
Else
MsgBox "Pas trouvé"
End If
End Sub
A+
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié par michel_m le 13/12/2013 à 19:30
Modifié par michel_m le 13/12/2013 à 19:30
Bonjour,
Avec une fonction personnalisée:
Michel
Avec une fonction personnalisée:
Function toto(cellule As Range) As String
Dim tablo, Cptr As Byte
tablo = Split(cellule, " ")
For Cptr = 0 To UBound(tablo)
If UCase(tablo(Cptr)) = "TOTO" Then toto = "OK"
Exit Function
Next
End Function
Michel
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
14 déc. 2013 à 07:10
14 déc. 2013 à 07:10
Bonjour michel_m,
Oui, merci, mais vue les cas que cette personne compte englober :
pour un variable Var = "toto" , ma recherche doit fonctionner
pour Var = "toto qui fait du" , ma recherche doit fonctionner
et ce qui peut etre entre ses deux exemples .......
Oui, merci, mais vue les cas que cette personne compte englober :
pour un variable Var = "toto" , ma recherche doit fonctionner
pour Var = "toto qui fait du" , ma recherche doit fonctionner
et ce qui peut etre entre ses deux exemples .......
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
14 déc. 2013 à 08:14
14 déc. 2013 à 08:14
Bonjour F89
Excuse facile:
à 19h20, j'avais droit au top "wan" de la chorale occitane: "ch'uis pas mariée avec un ordinateur !!!"
Donc, ce matin, tranquilou...
Merci de m'avoir signalé cette ânerie
Bon WE à toi
Excuse facile:
à 19h20, j'avais droit au top "wan" de la chorale occitane: "ch'uis pas mariée avec un ordinateur !!!"
Donc, ce matin, tranquilou...
Option Explicit
Function toto(cellule As Range) As String
Dim tablo, Cptr As Byte
tablo = Split(cellule, " ")
For Cptr = 0 To UBound(tablo)
If UCase(tablo(Cptr)) = "TOTO" Then
toto = "OK"
Exit Function
End If
Next
End Function
Merci de m'avoir signalé cette ânerie
Bon WE à toi
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
14 déc. 2013 à 11:20
14 déc. 2013 à 11:20
Re michel_m,
pas de probleme pour ce petit bug, mais je me repete,
moi Oui, merci, mais vue les cas que cette personne compte englober :
lui pour un variable Var = "toto" , ma recherche doit fonctionner
relui pour Var = "toto qui fait du" , ma recherche doit fonctionner
et rerelui et ce qui peut etre entre ses deux exemples .......
mettre en tableau OK si seulement "toto" mais le reste des possibilites !!!!!!
pas de probleme pour ce petit bug, mais je me repete,
moi Oui, merci, mais vue les cas que cette personne compte englober :
lui pour un variable Var = "toto" , ma recherche doit fonctionner
relui pour Var = "toto qui fait du" , ma recherche doit fonctionner
et rerelui et ce qui peut etre entre ses deux exemples .......
mettre en tableau OK si seulement "toto" mais le reste des possibilites !!!!!!
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 757
14 déc. 2013 à 11:52
14 déc. 2013 à 11:52
Salut michel, f894009,
Le problème inhérent à ce sujet réside dans les "mots" qu'il va chercher.
Je dirais, à lui à bien choisir les mots clés.
Un peu comme lors d'une recherche sous google.....
Sur ce... Bon week end à tous!
Le problème inhérent à ce sujet réside dans les "mots" qu'il va chercher.
Je dirais, à lui à bien choisir les mots clés.
Un peu comme lors d'une recherche sous google.....
Sur ce... Bon week end à tous!
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
14 déc. 2013 à 16:23
14 déc. 2013 à 16:23
Bonjour,
Cest aussi ma facon de voir. Tout est dans les "mots cles"
Bon week end à tous
Cest aussi ma facon de voir. Tout est dans les "mots cles"
Bon week end à tous
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié par michel_m le 16/12/2013 à 10:10
Modifié par michel_m le 16/12/2013 à 10:10
bonjour,
encore moi
maquette:
https://www.cjoint.com/?3Lqkkjl1T5i
Michel
encore moi
Option Explicit
Function Texte_precis(cellule As Range, cle As String) As Boolean
Dim Nbcar1 As Byte, Cptr1 As Byte, Lettre As String * 1 'cellule
Dim Nbcar2 As Byte, Cptr2 As Byte 'cle
Nbcar1 = Len(cellule)
Nbcar2 = Len(cle)
Cptr2 = 1
For Cptr1 = 1 To Nbcar1
Lettre = Mid(cellule, Cptr1, 1)
If Lettre = Mid(cle, Cptr2, 1) Then
Cptr2 = Cptr2 + 1
If Cptr2 > Nbcar2 Then
Texte_precis = True
Exit For
End If
Else
Cptr2 = 1
End If
Next
If Cptr2 < Nbcar2 Then Texte_precis = False
End Function
maquette:
https://www.cjoint.com/?3Lqkkjl1T5i
Michel
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
16 déc. 2013 à 11:04
16 déc. 2013 à 11:04
Bonjour michel_m,
Moi, ça me va bien.
Merci. A Peon 33 d'expérimenter .
Bye
Moi, ça me va bien.
Merci. A Peon 33 d'expérimenter .
Bye
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
19 déc. 2013 à 08:29
19 déc. 2013 à 08:29
Et alors ?
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
20 déc. 2013 à 11:02
20 déc. 2013 à 11:02
Bonjour michel_m,
Zorro n'est pas arriive et Juanita a ete decoupee par le train ........ Dommage !!!
Zorro n'est pas arriive et Juanita a ete decoupee par le train ........ Dommage !!!
michel_m
Messages postés
16602
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 313
Modifié par michel_m le 20/12/2013 à 11:17
Modifié par michel_m le 20/12/2013 à 11:17
A mon avis, Peon confond "bénévole" et "domestique gratuit corvéable à merci"
13 déc. 2013 à 09:11
le problème de la fonction find c'est que dans la cas ou j'ai : Var ="toto qui"
la phrase : "toto quitte" va être trouvé...
de même pour Instr..
13 déc. 2013 à 11:00
Oui, mais normalement il y a un espace apres qui, donc essayez avec Var ="toto qui "
18 déc. 2013 à 09:47
C'est vrai que cela fonctionne dans ce cas, mais pas si on est en fin de phrase, c'est ce qui me complique la vie...