Recherche d'une text ds une feuille de calcul
Résolu/Fermé
nuxaly
Messages postés
24
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
10 septembre 2011
-
31 mars 2008 à 01:54
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 6 avril 2008 à 20:30
Polux31 Messages postés 6917 Date d'inscription mardi 25 septembre 2007 Statut Membre Dernière intervention 1 novembre 2016 - 6 avril 2008 à 20:30
A voir également:
- Recherche d'une text ds une feuille de calcul
- Recherche musique - Guide
- Supprimer une feuille word - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Calculer une moyenne sur excel - Guide
- Comment faire une recherche à partir d'une photo - Guide
3 réponses
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
31 mars 2008 à 02:22
31 mars 2008 à 02:22
Bonjour,
Il faut écrire la boucle de recherche dans une fonction qui renvoie True si elle trouve les 2 mots ou False si elle ne trouve pas :
Private Sub CommandButton1_Click()
Dim Cible As String
Cible1 = TextBox1.Text
Cible2 = TextBox2.Text
If SearchMot(Cible1, Cible2) = True Then
MsgBox "Oui"
Else
MsgBox "non"
End If
End Sub
Private Function SearchMot(ByVal c1 As String, ByVal c2 As String) As Boolean
Dim i As Long
For i = 1 To Rows.Count
If (InStr(Cible1, Cells(i, 1)) = 1) And (InStr(Cible2, Cells(i, 2)) = 1) Then
SearchMot = True
Exit Function
Else
SearchMot = False
End If
Next i
End Function
;o)
polux
Il faut écrire la boucle de recherche dans une fonction qui renvoie True si elle trouve les 2 mots ou False si elle ne trouve pas :
Private Sub CommandButton1_Click()
Dim Cible As String
Cible1 = TextBox1.Text
Cible2 = TextBox2.Text
If SearchMot(Cible1, Cible2) = True Then
MsgBox "Oui"
Else
MsgBox "non"
End If
End Sub
Private Function SearchMot(ByVal c1 As String, ByVal c2 As String) As Boolean
Dim i As Long
For i = 1 To Rows.Count
If (InStr(Cible1, Cells(i, 1)) = 1) And (InStr(Cible2, Cells(i, 2)) = 1) Then
SearchMot = True
Exit Function
Else
SearchMot = False
End If
Next i
End Function
;o)
polux
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
1 avril 2008 à 09:11
1 avril 2008 à 09:11
bonjour,
Je n'ai pas testé le code que je t'ai donné mais je viens de voir que la fonction InStr n'est pas vraiment appropriée pour ce que tu veux faire et que mon code contient des erreurs. Ensuite il faut faire la recherche dans 2 boucles et non dans une comme je te l'ai faite. Il faut d'abord rechercher le premier texte (cible1) dans toute la feuile et si l'on trouve le premier alors on lance une recherche du second mot sur toute la feuille ... Essaies de travailler la dessus, et si tu as des difficultés, n'hésites pas à m'en faire part.
;o)
Polux
Je n'ai pas testé le code que je t'ai donné mais je viens de voir que la fonction InStr n'est pas vraiment appropriée pour ce que tu veux faire et que mon code contient des erreurs. Ensuite il faut faire la recherche dans 2 boucles et non dans une comme je te l'ai faite. Il faut d'abord rechercher le premier texte (cible1) dans toute la feuile et si l'on trouve le premier alors on lance une recherche du second mot sur toute la feuille ... Essaies de travailler la dessus, et si tu as des difficultés, n'hésites pas à m'en faire part.
;o)
Polux
nuxaly
Messages postés
24
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
10 septembre 2011
1 avril 2008 à 23:48
1 avril 2008 à 23:48
bonsoir;
ok j'essaye de faire ce que tu ma dis , et merci de ton aide...
nuxaly!!
ok j'essaye de faire ce que tu ma dis , et merci de ton aide...
nuxaly!!
nuxaly
Messages postés
24
Date d'inscription
lundi 31 mars 2008
Statut
Membre
Dernière intervention
10 septembre 2011
6 avril 2008 à 20:22
6 avril 2008 à 20:22
salut polux;
j'ai des difficultés a afficher le contenu d'un plage de cellules, je m'explique: lorsque je trouve les 2 mots recherché je veux que ma listbox m'affiche des info sur les 2 mots . par exemple si les mots sont dans les cellules A3 et B3 alors j e ve affiche le contenu des cellules de A3 à F3 (par exemple) .
lorsque j ecris : ListBox1.AddItem Range("A & i:F & i").Value il menvoi un message d'erreur : erreur dexecution 1004 et la methode 'range' de l'obget '_global' a echoué.
merci !!!
nuxaly!!!
j'ai des difficultés a afficher le contenu d'un plage de cellules, je m'explique: lorsque je trouve les 2 mots recherché je veux que ma listbox m'affiche des info sur les 2 mots . par exemple si les mots sont dans les cellules A3 et B3 alors j e ve affiche le contenu des cellules de A3 à F3 (par exemple) .
lorsque j ecris : ListBox1.AddItem Range("A & i:F & i").Value il menvoi un message d'erreur : erreur dexecution 1004 et la methode 'range' de l'obget '_global' a echoué.
merci !!!
nuxaly!!!
Polux31
Messages postés
6917
Date d'inscription
mardi 25 septembre 2007
Statut
Membre
Dernière intervention
1 novembre 2016
1 204
6 avril 2008 à 20:30
6 avril 2008 à 20:30
Bonjour,
il faut faire comme ça :
;o)
Polux
il faut faire comme ça :
ListBox1.AddItem Range("A & i).Value & " " & Range("F & i).Value
;o)
Polux
31 mars 2008 à 22:20
merci beaucoup pour ton aide.
le prbleme reste encore mais cette fois le msgbox affiche just "non" meme si les mots existe dans ma feuille de calcul...
merci autre fois
nuxaly!