recherche d'une valeur dans une colonne

fabricebaudot

XLDnaute Junior
Bonjour à tous,

Pour bien commencer, je vous souhaite une bonne année 2016 et pleins de formules excel...

J'ai fais quelques recherche pour une formule mais étant très débutant en excel je ne les ai malheureusement pas comprises. j'ai un tableau avec une liste de matériel que j'ai dans mon service (1 unité de soins par onglet). Dans mon premier onglet (Mindray 1251) je souhaiterai en F3 entrer un numero GBM, si ce numéro est connu il me surligne la ligne correspondante, si il n'est pas répertorié il me met inconnu.

En somme je voudrais rechercher ce numéro GBM sans avoir à parcourir la liste de mes 3 onglets.

Merci pour votre aide précieuse
 

Pièces jointes

  • inventaire mindray.xlsx
    35.6 KB · Affichages: 43

R@chid

XLDnaute Barbatruc
Re : recherche d'une valeur dans une colonne

Re,
on peut faire la recherche sur 3 onglets, mais pour basculer vers le bon onglet il faut une macro donc surement une âme charitable va passer par là pour te donner de l'aide.
 

fabricebaudot

XLDnaute Junior
Re : recherche d'une valeur dans une colonne

Bon après quelques essais c'est nickel. Par contre comment je peux exporter le bouton dans d'autres documents excel ? y a t-il des modifications dans la programmation à faire ? Y a t il d'autre modèle de bouton ?

Merci encore
 

Regueiro

XLDnaute Impliqué
Re : recherche d'une valeur dans une colonne

Bonsoir Le Forum - Fabricebaudot
Voici ton fichier en retour
Explications :
1. j'ai crée une Feuille ACCUEIL
sur celle-ci tu as un TexBox ( jaune )
tu tapes le N° GBM que tu recherches
la listBox en dessous se met à jour selon selon ta recherche dans le Texbox

2. Ensuite tu selectionnes dans la listbox ton N° GBM
3. En dessous tu as les résultats
tu peux choisir avec le lien hypertexte créer automatiquement
la cellule de la feuille ou la ligne de la feuille.

4. Bouton bleu = Macro mise à jour des N° GBM
5.Attention si tu rajoutes des feuilles, ton 1er N° GBM doit commencer en cellule "C7"

A+
Code dans la Feuille ACCUEIL
Code:
Option Explicit
Private Sub TextBox1_Change()
Dim temp
Dim i
  temp = Me.TextBox1
  Me.ListBox1.Clear
  For i = 1 To [ListeNoms].Count
    If UCase(Left(Range("listeNoms")(i), Len(temp))) = UCase(temp) Then
       Me.ListBox1.AddItem Range("listeNoms")(i)
    End If
  Next
End Sub
Private Sub ListBox1_Click()
Dim F As Worksheet
Dim C
Dim Plage As Range
Dim Derlig As Long
   [C22] = Me.ListBox1

For Each F In Worksheets
    If LCase(F.Name) <> "accueil" Then 'excepté celle-ci !
        Derlig = F.Cells(Rows.Count, 3).End(xlUp).Row
            Set Plage = F.Range("C7", F.Cells(Derlig, 3))
            Set C = Plage.Find([C22], , , xlPart)
                If Not C Is Nothing Then
                    [C23] = C.Row & ":" & C.Row
                    [C24] = C.Address
                    [C25] = F.Name
End If
End If
Next F
Me.TextBox1.Value = ""
End Sub

Code dans le Module 5
Code:
Option Explicit
Public Derlig As Long, DerCol As Long, Cell As Range
Sub Transfert3()
Dim Dico As Object, F As Worksheet
Dim temp

Set Dico = CreateObject("Scripting.Dictionary")
Columns("I:I").ClearContents

For Each F In Worksheets
    If LCase(F.Name) <> "accueil" Then 'excepté celle-ci !
        Derlig = F.Cells(Rows.Count, 3).End(xlUp).Row
        For Each Cell In F.Range("C7", F.Cells(Derlig, 3))
            'If Cell <> "" Then Dico(Cell.Value) = ""
                        If Cell <> "" Then Dico(Cell.Text) = ""

        Next
    End If
Next
If Dico.Count > 0 Then
   With Sheets("ACCUEIL"): .[I4].Resize(Dico.Count) = Application.Transpose(Dico.keys): End With


End If
Set F = Nothing: Set Dico = Nothing
End Sub
 

Pièces jointes

  • fabricebaudot V02.xlsm
    61.1 KB · Affichages: 47

Discussions similaires

Statistiques des forums

Discussions
312 322
Messages
2 087 280
Membres
103 507
dernier inscrit
tapis23