jager57
Messages postés27Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention22 août 2008
-
18 août 2008 à 14:10
jager57
Messages postés27Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention22 août 2008
-
21 août 2008 à 09:30
Bonjour,je suis actuellement en stage en allemagne <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>
je dois réaliser une programmation sur vba mais je suis un débutant
je voudrais rechercher une phrase dans une colonne
ex : si je doi rechercher le soleil brille
si je tape sol es que cŽest possible dŽafficher toutes les phrases contenant lŽabréviation sol
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 18 août 2008 à 15:51
Salut Jager57
pourquoi 57 ,t'es de Moselle ?
Oui, il est possible de le faire mais il faut indiquer:
- l'emplacement de la cellule ou tu vas taper "sol"
- le numero de colonne où se trouve la liste de mots
- l'emplacement où tu vas afficher toutes tes phrases suivant criteres.
Pour ce faire , tu peux utiliser la méthode 'Find'.
Si tu ne sais pas comment faire ,envoie les renseignements indiqués ci-dessus
A+
jager57
Messages postés27Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention22 août 2008 19 août 2008 à 08:23
Bonjour dedenet2,
oui je suis bien mosellan
merci pour votre aide mais je ne sais pas trop comment faire
je vous met un exemple de tableau
<colgroup><col style=\"WIDTH: 90pt; mso-width-source: userset; mso-width-alt: 4388\" width=\"120\" /><col style=\"WIDTH: 60pt\" width=\"80\" /></colgroup>----<?xml:namespace prefix v ns "urn:schemas-microsoft-com:vml" /??><v:shapetype id="_x0000_t201" path="m,l,21600r21600,l21600,xe" o:spt="201" coordsize="21600,21600"><v:stroke joinstyle="miter"></v:stroke><v:path o:connecttype="rect" fillok="f" strokeok="f" o:extrusionok="f" shadowok="f"></v:path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /??><o:lock shapetype="t" v:ext="edit"></o:lock></v:shapetype><v:shape id="_x0000_s1025" style="MARGIN-TOP: 12pt; Z-INDEX: 1; MARGIN-LEFT: 60pt; WIDTH: 60pt; POSITION: absolute; HEIGHT: 15pt; mso-wrap-style: tight" o:insetmode="auto" strokecolor="windowText [64]" fillcolor="buttonFace [67]" o:button="t" type="#_x0000_t201"><v:fill o:detectmouseclick="t" color2="buttonFace [67]"></v:fill><o:lock v:ext="edit" rotation="t"></o:lock><v:textbox style="mso-direction-alt: auto" o:singleclick="f"></v:textbox></v:shape>, , ----
, , ----
, , ----
le soleil brille, 1, ----
le ciel est gris, 2, ----
le soleil nŽest pas la, 3, ----
le soleil est caché, 4, ----
les nuges sont gris, 5, ----
en moselle, il pleut tjrs, 6, ----
le ciel est bleu, 7
Sub test()
Dim nom As String
Dim recherche As String
nom = InputBox("nom")
Sheets("Tabelle1").Activate
recherche = WorksheetFunction.Find(nom, range("tableau"), 2)
MsgBox "Le nom" & recherche
End Sub
si quelquŽun clique sur le bouton recherche, il tape lŽabréviation sol, on doit pouvoir lui donner toutes les phrases contenant lŽabréviation sol
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 19 août 2008 à 13:43
Bonjour,
Je te propose une solution.
je n'ai pas utiliser "Find" mais plutôt "Like".En Vba , il ya plusieurs possibités.
Voici le module:
---------------------------------------------------------------------------------------------------
Sub RecherchePhrases()
'Programme de recherche de phrases suivant critere de saisie
Dim nom, c, msg
Dim recherche As String
Dim NombrePhrasesTrouvées As Integer
NombrePhrasesTrouvées = 0
'Affichage du inputbox pour saisie
nom = Trim(Application.InputBox("Taper un nom", "Recherche"))
'N'execute pas la rechereche si on clique sur Annuler ou si aucune saisieIf nom False Or nom "" Then
Exit Sub
End If
'Active la feuille nommé Tabelle1
Sheets("Tabelle1").Activate
'Effectue la recherche dans la plage cellule nommé tableau
For Each c In Range("tableau")
If c.Value Like "*" & nom & "*" Then
'Incremente le nombre de phrases trouvés
NombrePhrasesTrouvées = NombrePhrasesTrouvées + 1
'texte trouvé suivant la saisie
recherche = c.Value
'fait une liste des phrases correspondantes a la saisie
msg = msg & recherche & vbTab & vbCrLf
End If
Next
'Affiche tout le resultat
MsgBox NombrePhrasesTrouvées & " phrase(s) trouvé(s) " _
& Chr(10) & Chr(10) & msg, vbInformation, "Resultat de " & "[" & nom & "]"
End Sub
-------------------------------------------------------------------------------------------------
Ceci est un module que l'on appelle avec un bouton ou autre par le code suivant
Call RecherchePhrases
dedenet2
Messages postés372Date d'inscriptionvendredi 27 juillet 2007StatutMembreDernière intervention22 juillet 20132 20 août 2008 à 21:09
Salut
Il faut envlever msgbox et créer un Userform sur lequel tu mets un
listbox.
N'oublie de nommer l'Userform et le listbox comme dans le code.
Voici le code.
-------------------------------------------------------------------------
Sub Bouton1_QuandClic()
Call RecherchePhrases
End Sub
Sub RecherchePhrases()
'Programme de recherche de phrases suivant critere de saisie
Dim nom, c, msg
Dim recherche As String
Dim NombrePhrasesTrouvées As Integer
NombrePhrasesTrouvées = 0
'Affichage du inputbox pour saisie
nom = Trim(Application.InputBox("Taper un nom", "Recherche"))
'N'execute pas la rechereche si on clique sur Annuler ou si aucune saisie
If nom False Or nom "" Then
Exit Sub
End If
'Active la feuille nommé Tabelle1
Sheets("Tabelle1").Activate
'Effectue la recherche dans la plage cellule nommé tableau
For Each c In Range("tableau")
If c.Value Like "*" & nom & "*" Then
'Incremente le nombre de phrases trouvés
NombrePhrasesTrouvées = NombrePhrasesTrouvées + 1
'texte trouvé suivant la saisie
recherche = c.Value
'fait une liste des phrases correspondantes a la saisie dans
'le listbox
UserFormResultat.ListBoxResultatRecherche.AddItem recherche
End If
Next
'Affiche le liste
If NombrePhrasesTrouvées > 0 Then
UserFormResultat.Caption = NombrePhrasesTrouvées & " phrase(s) trouvé(s)"
UserFormResultat.Show
Else
MsgBox "Aucun résultat !", vbInformation, "Resultat Recherche"
End If
End Sub
------------------------------------------------------------------------------
Vous n’avez pas trouvé la réponse que vous recherchez ?
jager57
Messages postés27Date d'inscriptionmardi 19 décembre 2000StatutMembreDernière intervention22 août 2008 20 août 2008 à 13:53
Bonjour,
encore merci pour ceux que vous avez fait
mais étant donné que jŽai un tableau avec environ 1000 lignes la msg box ne peut afficher tout les résultats de la recherche. comment faire pour afficher tous les recherches possibles ?