Cellules adjacantes à la recherche avec la methode find + additem

  • Initiateur de la discussion Initiateur de la discussion Creepy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

C

Creepy

Guest
Kikoo,

Pour faire ma recherche j'ai utilisé cette méthode (Merci @+Thierry) :

Set C = .Find(Cherche, LookIn:=xlValues)
If Not C Is Nothing Then
FirstADdress = C.Address
Do
LstResultat.AddItem C
Set C = .FindNext(C)
Loop While Not C Is Nothing And C.Address <> FirstADdress
End If

Ca marche très bien et j'ai bien le resultat de ma recherche dans ma ListBox. Par contre je voudrais aussi qu'il me mette dans la listbox le contenu de ma cellule adjacente à ma recherche, et, 2 cellules apres

par exemple si j'ai dans mon tableau = dudul / cellule d'à coté : 123 et encore apres 456, je veux que le resultat de ma recherche soit :

dudul / 123 / 456.

Je sais formater ma listbox pour avoir trois colonne ca c'est pas le problème par contre je sais pas prendre les cellules adjacentes.

Merci

Creepy
 
Re,

Voilà le même exemple mais n'ayant pas comme en-tête de colonne le nom des colonnes, mais l'en-tête que toi tu as choisis (sur la première ligne de ta feuille dans ce cas si).

Du temps où je cherchais à faire ce petit fichier, j'ai cherché pendant des heures car je ne trouvais pas évident l'aide d'excel, mais à force de chercher j'ai trouvé, donc ne perdez pas courage à force de persévérence on fini toujours par y arriver, surtout que maintenant il y a ce forum super génial qui m'aurait bien servi au temps où je débutais en VBA (qui n'est pas si loin que ça l'air de rien).

Bon travail.

Bonne soirée à tous.

john
 

Pièces jointes

Salut,

Merci c'est tout à fait ce que je cherche, mais aurait tu la solution pour que je puisse faire une rechercher sur la colonne A et afficher dans la liste box le resultat de ma recherche et ses cellules adjacantes.

Par exemple si je recherche les "DEDE" en colonne A, je veux que dans ma liste box j'ai par exemple :

DEDE 123 456
DEDE1 457 456
DEDE27 478 745

Saurais-tu comment faire SVP

Merci d'avance

Creepy
 
Re,

Je pense que ce serai plus facile pour moi que tu m'envois ton fichier (sans les infos perso). Pas évident sans avoir le fichier devant moi.

Sinon j'ai déjà ma petite idée, le tout est de pouvoir l'afficher comme dans les exemples que je t'ai envoyé.

Merci d'avance pour ton fichier.

Bonne soirée

John
 
Re,

Voilà, j'ai imaginé un petit programme (à ma façon), apparemment ça fonctionne, mais vous pouvez biensur le modifié et le faire évoluer à votre manière.

Moi c'est un programme vite fait pour essayer de te dépanner.

Bon je vais dodo maintenant.

Bonne nuit à tous.

John
 

Pièces jointes

Merci pour la procedure,

Je l'ai regardé cela a l'air de fonctionner 1 fois mais après ca plante.

Je suis absent toute la journée (permis bateau !) Mais je regarderais plu sen detail ce soir, d'ici là si kk1 à kke chose à rajouer il est le bienvenue.

++

Creepy
 
Bonjour à tous,


Cela ne plante pas mais il y a un pb de select


avec dudul ça fonctionne car il est en A2. (range("A2").select de cmdrechercher_Click(), mais pa ludud qui est en A3 ,je pense qu'il va copier jusqu'à la ligne 65536 et + mais j'ai arrêté le code avant.


=> Donc une solution John et Creepy, est de selectionner la cellule correspondant au textbox une fois qu'on l'a trouvée est:

Private Sub cmdrechercher_Click()
Dim cell As Range
If txtcherche <> "" Then
Application.ScreenUpdating = False
For Each cell In Range("A2", "A" & Range("A65536").End(xlUp).Row)
If cell = txtcherche Then
cell.Select
Call Macro(txtcherche)
Exit For
End If
Next cell
Range("A1").Select
Else
MsgBox "Veuillez entrer un critère de recherche", vbInformation + vbOKOnly, "Erreur de recherche"
End If
Application.ScreenUpdating = True
End Sub


A+++
 
Merci Zon,

Mais je m'apercois que cette procedure va alourdir grandement mon application, y aurait-il un autre moyen par mon Additem C de prendre la valeur des 2 celluls adjacantes ??

Merci d'avance

A++

Creepy
 
Re,



Voici donc une petite démo avec un tableau qui produit le même résultat que le code de John....

ATTENTION, si tu penses avoir plus de 100 "dudul" il faut déclarer le tableau différemment ex: Dim TAB1(0 to tonnombre,0 to 2) as String.

Idem pour I qui est en Byte, le mettre en Integer si tu dois avoir 256 et + dudul.



A+++



PS Juve 3-1 Real, dommage pour moi, trés forts ces italiens...
 

Pièces jointes

Re,

Merci Zon c'est tout a fait ca que je souhaitais, cependant j'ai 3 questions :

1 - Pour que le resultat de la recherche soit affiché dans la listbox, il faut imperativement que le texte entré soit Exacte, si par exemple mon client est : Kronembourg il faut imperativement que l'utilisateur tape : Kronembourg.

S'il tape kro ou kronembourg (sans majuscule) ca marche pas. en faites il me faudrait une recherche incorporer dedans, mais la je bute grave !!

2 - On peut enlever le chiffre devant le resultat c serait + beau (oui oui je chipote !!).

3 - Pkoa tu dis dommage pour moi, t'avais parié ?

Merci Creepy

Ps voici mon code source propre si besoin sans mes essais avec mon Find

If TxtQuoi.Value <> "" Then <- TxtQuoi est une Textbox
For Each cell In Sheets("BdeD").Range("A2", "A" & Range("A65536").End(xlUp).Row)
If cell = TxtQuoi.Value Then
TAB1(I, 0) = cell.Text & I
TAB1(I, 1) = cell.Offset(0, 1).Text
TAB1(I, 2) = cell.Offset(0, 2).Text
I = I + 1
End If
Next cell
Else
MsgBox "Veuillez entrer un critère de recherche", vbInformation + vbOKOnly, "Erreur de recherche"
Exit Sub
End If
LstResultat.Visible = True
LstResultat.ColumnCount = 3
LstResultat.ColumnWidths = "6cm" & ";" & "6cm" & ";" & "3cm"
LstResultat.List = TAB1()
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
12
Affichages
995
Réponses
12
Affichages
867
Réponses
7
Affichages
998
  • Question Question
XL pour MAC Recherche date
Réponses
5
Affichages
2 K
Retour