Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

recherche partielle dans 1 tableau excel

  • Initiateur de la discussion Tony
  • Date de début
T

Tony

Guest
Bonjour, et tout d'abord merci à tout ceux qui postent pour aider ceux qui en ont besoin.

J'ai fais une fonction "recherche" pour un tableau excel à 10 colonne.
La commande "UCase" permet de trouver le résultat sans tenir compte des majuscule/minuscule, mais maintenant je voudrai pouvoir faire une recherche "partielle" d'un mot, c'est à dire pouvoir indiquer le début d'un mot et que la fonction trouve tous les mots entiers qui correspondent.
Pensez vous que ce soit faisable ?

Le mot à rechercher est indiquer dans "textbox1", et à chaque fois qu'il est trouvé sur une ligne celle-ci est colorée en orange.
Je précise que je suis novice en VBA et programation en générale.


Private Sub recherche_Click()

ligne = 1
colonne = 1
token = 0

While token < 10

If colonne < 11 Then

If Cells(ligne, colonne) <> "" Then

If UCase(Cells(ligne, colonne)) = UCase(TextBox1) Then
Range(Cells(ligne, 1), Cells(ligne, 10)).Select

With Selection.Interior
.ColorIndex = 44
.Pattern = xlSolid
End With

ligne = ligne + 1

Else

colonne = colonne + 1

End If

Else
colonne = colonne + 1
token = token + 1

End If

Else
ligne = ligne + 1
colonne = 1
token = 0

End If

Wend

End Sub
 
R

Robert

Guest
Salut Tony, salut le forum,

En pièce jointe un exemple qui ne satisfait qu'à moitié car il comporte plusieurs possibilités de bug. Mais j'ai pas mieux...

À plus,

Robert
 

Pièces jointes

  • recherche.zip
    11.3 KB · Affichages: 107
  • recherche.zip
    11.3 KB · Affichages: 113
  • recherche.zip
    11.3 KB · Affichages: 113
L

Lord Nelson

Guest
Salut Tony, Robert et tous,

Tu n'as qu'une petite modif à effectuer, remplace cette ligne :

If UCase(Cells(ligne, colonne)) = UCase(TextBox1) Then
par
If InStr(UCase(Cells(ligne, colonne)), UCase(TextBox1)) = 1 Then
ou bien
If InStr(UCase(Cells(ligne, colonne)), UCase(TextBox1)) > 0 Then

Dans le premier cas la condition est vraie si le texte saisi est le début de ta cellule, dans le second cas, le texte est contenu dans la cellule à un emplacement quelconque.

A+
LN
 

Discussions similaires

Réponses
2
Affichages
233
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…