Recherche rapide dans un tableau

ckevinc -  
Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Question : J'ai un tableau avec plusieurs colonnes dont une des colonne ou est référencé un numéro de série, sachant que dans mon tableau (42 000) lignes il y a plusieurs fois ce numéro de série donc plusieurs lignes correspondant à ce numéro.
Je voudrais maintenant faire une case sur la même feuille une ou il faudrait juste taper le numéro de série et toutes les lignes ou apparaît ce numéro s'affiche automatiquement.
Je posséde déja un filtre dans ce tableau qui permet de faire ce systéme mais pour rendre plus attrayant mon tableau et plus simple d'utilisation je voudrais faire le systéme décrit plus haut.
Merci pour vos réponses

4 réponses

  1. Tomsound Messages postés 113 Statut Membre 1
     
    Utilise la touche : " Ctrl + F"

    Normalement cela fonctionne, je n'ai pas vérifier, tenez moi au courant,

    Tomsound .
    0
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      Bonjour,

      non ça ne correspond pas à la demande.

      La demande est de pouvoir filtrer le tableau et récupérer seulement les lignes dont le numéro correspond à celui entré dans une cellule.
      0
    2. Tomsound Messages postés 113 Statut Membre 1
       
      Ah ok ! autant pour moi j'avais mal compris alors attend ^^
      0
    3. Tomsound Messages postés 113 Statut Membre 1
       
      Après c'est du SQL ... Tableur pas top
      0
    4. ckevinc
       
      Il n'existe pas une fonction qui permettrai de faire ce systéme?
      0
    5. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      Il faut passer par macro.
      0
  2. ckevinc
     
    Ton système CTRL+F recherche bien les lignes que je demande mais il met juste la case recherché en surbrillance alors que moi je voudrai qu'il m'affiche que les lignes ou j'ai besoin
    0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     
    Bonjour a vous tous

    Code a mettre dans VBA de le feuille de calcul

    'Textbox de saisie sur feuille de calcul(format de controle, propriete: Ne pas deplacer.....)
    Private Sub TextBox1_KeyUp(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
      'Touche entrer pour valider le choix
      If KeyCode = &HD Then
        'Stop rafraichissement ecran
        Application.ScreenUpdating = False
        'Enleve filtre feuille a adapter
        Worksheets("feuil1").AutoFilterMode = False
        'Choix effectif: plage filtre a adapter
        If TextBox1 <> "" Then
          ActiveSheet.Range("$A$1:$B$8").AutoFilter Field:=1, Criteria1:=TextBox1
        End If
      End If
        'rafraichissement ecran
      Application.ScreenUpdating = True
    End Sub
    
    'ou
    
    'Une cellule de saisie
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      'Cellule de saisie a changer
      If Not Application.Intersect(Target, Range("C1")) Is Nothing Then
          'Stop rafraichissement ecran
        Application.ScreenUpdating = False
        'Enleve filtre feuille a adapter
        Worksheets("feuil1").AutoFilterMode = False
        'Choix effectif: plage filtre a adapter
        If Target <> "" Then
          ActiveSheet.Range("$A$1:$B$8").AutoFilter Field:=1, Criteria1:=Target
        End If
      End If
      'rafraichissement ecran
      Application.ScreenUpdating = True
    End Sub
    


    Bonne suite
    0
  4. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    une option sans macro si vous pouvez admettre une colonne de codage qui peut être masquée.
    exemple à adapter:
    en Feuil1 A1 le code à éditer

    en Feuil2 votre tableau
    de A2 à W100 vos données
    X1 reste vide ou texte
    en colonne B de votre tableau à partir de B2 jusqu'à B100, les codes en vrac
    en colonne X de cette feuille en X2 la formule à tirer jusqu'en X100
    =SI('FEUIL1'$A$1=B2);MAX($X$1:X1)+1;0)

    Sur Feuil1 en A2 et à tirer sur la hauteur voulue

    =SI(LIGNE()-1<=MAX('feuil2';$B$2:$B$100;INDEX('Feuil2'!$A$2:$W$100;EQUIV(LIGNE()-1;'Feuil2'!$X$2:$X$100;0);COLONNE());"")
    attention aux signes
    vous donnera la liste des mêmes codes sur la hauteur avec les infos respectives à chaque ligne concernées, mais sans "trou"
    et en tirant vers la droite vous renverra pour chaque ligne la valeur de la colonne au N° correspondant
    pour info
    la valeur LIGNE() renvoie le N° de ligne de la feuille ajustable selon la position d e la formule par + ou - valeur de correction, de façon à obtenir la valeur voulue, soit 1 pour la première ligne.
    Idem pour le code COLONNE qui donne le N° de colonne du champ INDEX

    bonne chance entre les deux propositions
    crdlmnt
    0