Recherche sur une partie des critères saisis (reprise du fil de imej-clavier du 06/08 20:23)

Le
Michel.P
Bonjour à toutes et tous
Je reprends la suite du fil en objet à mon compte
;-) qui est très intéressant pour moi. (merci à
BJ-RaMA ChrisV entre autres)
Je suis en train de travailler sur ce bout de VBA
qui pour l'instant me compte le nombre de fois
que "critere" est inscrit dans ma base
Ce que je recherche : que le "critère" puisse
être une partie du contenu de cellule. ex : dans
des cellules de ma base " renault super 5 - 1998"
donc si en critère je tape "super 5" la recherche
devra se faire sur une partie du contenu des
cellules et me donnera le nombre de fois
que "super 5" est inscrit. que se soit en
majuscules ou minuscules.
Merci d'avance

Sub Cherche()
Dim Compteur, Critere As String
Call Base
Critere = InputBox(" Saisissez un critère ")
Compteur = 0
For Each Cell In Range("base_ecriture")
'recherche dans ma base de données
If Cell = Critere Then
Compteur = Compteur + 1
End If
Next Cell
If Compteur > 0 Then
MsgBox (" Il y a " & Compteur & " fois le
critère " & Critere & " dans la base ")
Else
MsgBox (" Il n'y a pas le critère recherché
dans la base ")
End If
Range("b12").Select
End Sub

--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife)
  • Partager ce contenu :
Vos réponses Page 1 / 2
Trier par : date / pertinence
jps
Le #1776431
calife, je t'en supplie à genoux : cesse de poser de ces questions qui font
faire tourner en bourrique le moindre MVP...
comment vont-ils faire, en effet, pour te pondre une de leurs procs
alambiquées dans laquelle ils vont devoir tester si "5" est en majuscules ou
en minuscules...
tu me fais trop penser à cette lointaine cliente à qui je donnais par
téléphone le n° de phone de tel organisme et qui, alors qu'elle le prenait
sous ma dictée, me lança un sublime : "en un seul mot?"
jps

"Michel.P" news:
le nombre de fois que "super 5" est inscrit. que se soit en majuscules ou
minuscules.


COLLIOURE
Le #1776429
[HS] OLA à tous et surtout à toi Michel!
tu es un vrai champion cf. le dossier que tu m'as envoyé est
"parfait" (mais il faudra m'expliquer..car je n'ai plus 20 ans !!)
mon épouse m'a dit que tu avais continué à pédaler avec obstination ds
excel alors que le tour était fini !! (j'espère que tu te désaltèrais au
moins ..)
mais tu es motivé sans doute par ton ambitieuse signature
* je me prosterne déjà* ;-)
Courrier pris,je repars pour ma dernière semaine, et je te
remercie encore mille fois de ton superbe travail !
Dans mes lectures de sieste, j'ai trouvé un autre site détente
(ne pas louper la circulaire punitive au travail)
http://blog.doctissimo.fr/123_delires/index.php/last/2/last/266
[de garde cette nuit, jackie m'a dit ne pas s'être ennuyée]
Bien cordialement à tous! A bientôt..sdlv!
Hervé
Le #1776427
Salut Michel,
En mettant "Option Compare Text" en tete de module, la recherche se fait
sans respect de la casse. J'ai un peu modifier ta proc, à toi de voir :

Option Compare Text

Sub Cherche()
Dim Compteur As Integer
Dim Critere As String
Dim Cell As Range

base

Critere = InputBox(" Saisissez un critère ", _
"Recherche.")

If Critere = "" Then Exit Sub

For Each Cell In Range("base_ecriture")
'recherche dans ma base de données
If InStr(Cell.Text, Critere) <> 0 Then
Compteur = Compteur + 1
End If
Next Cell

If Compteur > 0 Then
MsgBox (" Il y a " & Compteur & _
" fois le critère " & _
Critere & " dans la base ")
Else
MsgBox (" Il n'y a pas le critère" _
& " recherché dans la base ")
End If

Range("B12").Select

Set Cell = Nothing
End Sub

Hervé.

"Michel.P" news:
Bonjour à toutes et tous
Je reprends la suite du fil en objet à mon compte
;-) qui est très intéressant pour moi. (merci à
BJ-RaMA ChrisV entre autres)
Je suis en train de travailler sur ce bout de VBA
qui pour l'instant me compte le nombre de fois
que "critere" est inscrit dans ma base
Ce que je recherche : que le "critère" puisse
être une partie du contenu de cellule. ex : dans
des cellules de ma base " renault super 5 - 1998"
donc si en critère je tape "super 5" la recherche
devra se faire sur une partie du contenu des
cellules et me donnera le nombre de fois
que "super 5" est inscrit. que se soit en
majuscules ou minuscules.
Merci d'avance

Sub Cherche()
Dim Compteur, Critere As String
Call Base
Critere = InputBox(" Saisissez un critère ")
Compteur = 0
For Each Cell In Range("base_ecriture")
'recherche dans ma base de données
If Cell = Critere Then
Compteur = Compteur + 1
End If
Next Cell
If Compteur > 0 Then
MsgBox (" Il y a " & Compteur & " fois le
critère " & Critere & " dans la base ")
Else
MsgBox (" Il n'y a pas le critère recherché
dans la base ")
End If
Range("b12").Select
End Sub

--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)



Michel.P
Le #1776426
désolé jps, relève toi, promis je ne
recommencerai plus (enfin je crois... 8-o )
je ne voulais offusquer personne.

jps avait énoncé :
calife, je t'en supplie à genoux : cesse de poser de
ces questions qui font faire tourner en bourrique le
moindre MVP... jps


--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)

Michel.P
Le #1776425
Grand merci Hervé
ton code fonctionne à merveille sur ma base. Le
but recherché est atteint.

Hervé a exposé le 07/08/2004 :
Salut Michel,
En mettant "Option Compare Text" en tete de module, la
recherche se fait sans respect de la casse. J'ai un peu
modifier ta proc, à toi de voir :


--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)

Michel.P
Le #1776422
Bonjour COLLIOURE

Plus 20 ans moi non plus mdr .

1°) Pour le fichier que je t'ai envoyé, tout est
dans les formules de calculs, y'a pas de secret
(à ma connaissance...)
des + et des - et quelques condirions, c'est
tout, Ha aussi peur être une mise en page perso,
mais bon c'est pas bien
compliqué quand on aime les chiffres...enfin
tâcherai de relire tous ça et t'envoyer un mail
avec quelques explications.

2°) C'est vrai je pédalais (je pédale encore, y'a
qu'a voir mes questions... ;-) malgré que le tour
soit fini et pour me désaltérer
pas de problème...., toujours une main de libre
pour attraper un verre de temps en temps... mdr
3°) Mon ambitieuse signature comme tu dis; est là
pour ma motivation. Rien que de la voir, cela me
rappele que je suis dans la cour des "petits" du
VBA et pas prêt de passer à la classe supérieure.
Ce que j'espère, c'est de ne pas redoubler...en
tout cas je progresse....

Bonne fin de semaine à toi et aux tiens, et au
plaisir de se lire.
Michel


COLLIOURE a exprimé avec précision :
[HS] OLA à tous et surtout à toi Michel!
tu es un vrai champion cf. le dossier que tu m'as
envoyé est "parfait" (mais il faudra m'expliquer..car
je n'ai plus 20 ans !!) mon épouse m'a dit que tu avais
continué à pédaler avec obstination ds excel alors que
le tour était fini !! (j'espère que tu te désaltèrais
au moins ..) mais tu es motivé sans doute par ton
ambitieuse signature * je me
prosterne déjà* ;-) Courrier pris,je repars pour ma
dernière semaine, et je te remercie encore mille fois
de ton superbe travail ! Dans mes lectures de sieste,
j'ai trouvé un autre site détente (ne pas louper la
circulaire punitive au travail)
http://blog.doctissimo.fr/123_delires/index.php/last/2/last/266
[de garde cette nuit, jackie m'a dit ne pas s'être
ennuyée] Bien cordialement à tous!
A bientôt..sdlv!


--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)

jps
Le #1776421
finalement le calife, c'est hervé, non?
jps

"Michel.P" news:
désolé jps, relève toi, promis je ne
recommencerai plus (enfin je crois... 8-o )
je ne voulais offusquer personne.

jps avait énoncé :
calife, je t'en supplie à genoux : cesse de poser de
ces questions qui font faire tourner en bourrique le
moindre MVP... jps


--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)




Michel.P
Le #1776419
Vas savoir jps, va savoir...
To be or not to be ......


finalement le calife, c'est hervé, non?
jps

"Michel.P" écrit dans le message de
news:
désolé jps, relève toi, promis je ne
recommencerai plus (enfin je crois... 8-o )
je ne voulais offusquer personne.

jps avait énoncé :
calife, je t'en supplie à genoux : cesse de poser de
ces questions qui font faire tourner en bourrique le
moindre MVP... jps


--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)



--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)



Michel Pierron
Le #1776409
Bonjour Hervé;
Tu peux inclure directement cette façon de faire dans l'instruction Instr.
En une seule ligne:
If InStr(Cell.Text, Critere, 1) Then Compteur = Compteur + 1

MP

"Hervé" news:
Salut Michel,
En mettant "Option Compare Text" en tete de module, la recherche se fait
sans respect de la casse. J'ai un peu modifier ta proc, à toi de voir :

Option Compare Text

Sub Cherche()
Dim Compteur As Integer
Dim Critere As String
Dim Cell As Range

base

Critere = InputBox(" Saisissez un critère ", _
"Recherche.")

If Critere = "" Then Exit Sub

For Each Cell In Range("base_ecriture")
'recherche dans ma base de données
If InStr(Cell.Text, Critere) <> 0 Then
Compteur = Compteur + 1
End If
Next Cell

If Compteur > 0 Then
MsgBox (" Il y a " & Compteur & _
" fois le critère " & _
Critere & " dans la base ")
Else
MsgBox (" Il n'y a pas le critère" _
& " recherché dans la base ")
End If

Range("B12").Select

Set Cell = Nothing
End Sub

Hervé.

"Michel.P" news:
Bonjour à toutes et tous
Je reprends la suite du fil en objet à mon compte
;-) qui est très intéressant pour moi. (merci à
BJ-RaMA ChrisV entre autres)
Je suis en train de travailler sur ce bout de VBA
qui pour l'instant me compte le nombre de fois
que "critere" est inscrit dans ma base
Ce que je recherche : que le "critère" puisse
être une partie du contenu de cellule. ex : dans
des cellules de ma base " renault super 5 - 1998"
donc si en critère je tape "super 5" la recherche
devra se faire sur une partie du contenu des
cellules et me donnera le nombre de fois
que "super 5" est inscrit. que se soit en
majuscules ou minuscules.
Merci d'avance

Sub Cherche()
Dim Compteur, Critere As String
Call Base
Critere = InputBox(" Saisissez un critère ")
Compteur = 0
For Each Cell In Range("base_ecriture")
'recherche dans ma base de données
If Cell = Critere Then
Compteur = Compteur + 1
End If
Next Cell
If Compteur > 0 Then
MsgBox (" Il y a " & Compteur & " fois le
critère " & Critere & " dans la base ")
Else
MsgBox (" Il n'y a pas le critère recherché
dans la base ")
End If
Range("b12").Select
End Sub

--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)







ChrisV
Le #1776396
Bonjour Michel.P,

En supposant que "base" soit située en A1:B6 (comme dans ton précédent
message)

Sub zaza()
Dim cpT As Integer
With Application
reC = .InputBox("Saisissez un critère", , , , , , , 2 + 1)
cpT = .CountIf([A1:B6], "*" & reC & "*")
If cpT > 0 Then
MsgBox "Il y a " & cpT & " fois le critère """ & reC & _
""" dans la base", vbInformation
Else: MsgBox "Il n'y a pas le critère recherché dans la base",
vbExclamation
End If
End With
End Sub


ChrisV


"Michel.P" news:
Bonjour à toutes et tous
Je reprends la suite du fil en objet à mon compte
;-) qui est très intéressant pour moi. (merci à
BJ-RaMA ChrisV entre autres)
Je suis en train de travailler sur ce bout de VBA
qui pour l'instant me compte le nombre de fois
que "critere" est inscrit dans ma base
Ce que je recherche : que le "critère" puisse
être une partie du contenu de cellule. ex : dans
des cellules de ma base " renault super 5 - 1998"
donc si en critère je tape "super 5" la recherche
devra se faire sur une partie du contenu des
cellules et me donnera le nombre de fois
que "super 5" est inscrit. que se soit en
majuscules ou minuscules.
Merci d'avance

Sub Cherche()
Dim Compteur, Critere As String
Call Base
Critere = InputBox(" Saisissez un critère ")
Compteur = 0
For Each Cell In Range("base_ecriture")
'recherche dans ma base de données
If Cell = Critere Then
Compteur = Compteur + 1
End If
Next Cell
If Compteur > 0 Then
MsgBox (" Il y a " & Compteur & " fois le
critère " & Critere & " dans la base ")
Else
MsgBox (" Il n'y a pas le critère recherché
dans la base ")
End If
Range("b12").Select
End Sub

--
Amicalement
Michel . P
(un jour, serai Calife à la place du Calife...)



Poster une réponse
Anonyme