Affichage uniquement des cellules non vides aprés une recherche

  • Initiateur de la discussion Initiateur de la discussion Geely
  • 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 !

Geely

XLDnaute Occasionnel
Bonjour le Forum

Dans l'exemple joint, j'effectue une recherche d'une identité et affiche cette recherche dans une fenêtre avec les résultats. seulement je souhaite uniquement afficher les résultats des cellules où il y en a un, pas les cellules vides.

Par exemple si je recherche "pierre" il faut afficher
date et identité (la pas de problème) puis sous résultat 1: CEPHM: 99
et sousrésultat 2 : D-DDI= 0,27

J'ai besoin d'afficher cinq résultats maximum, mais il peuvent se trouver jusqu'en colonne BB.

Geely
 

Pièces jointes

Re : Affichage uniquement des cellules non vides aprés une recherche

Oui un peu,
Des qu'il y a un chiffre dans la ligne que l'on a rechercher il faut afficher ce chiffre + la cellule ligne 1 de la colonne ou se trouve ce chiffre.
 
Re : Affichage uniquement des cellules non vides aprés une recherche

Bonjour Geely, st007,

Code:
Private Sub CommandButton1_click() 'bouton Lancer la recherche
Dim t$, lig&, i&, j As Byte, col As Byte
With ListBox1
  .Clear
  t = "*" & LCase(TextBox1) & "*"
  For lig = 2 To Cells(Rows.Count, 5).End(xlUp).Row
    If LCase(Cells(lig, 5)) Like t Then
      .AddItem
      .List(i, 0) = Cells(lig, 6) 'date
      .List(i, 1) = Cells(lig, 5) 'identité
      j = 2
      For col = 10 To 54 'colonne BB
        If Cells(lig, col) <> "" Then
          .List(i, j) = Cells(lig, col)
          j = j + 1
          If j = 7 Then Exit For '5 valeurs maximum
        End If
      Next
      .List(i, 7) = lig
      i = i + 1
    End If
  Next
End With
End Sub
Nota : revoir les dimensions et les positions des TextBoxes faisant office d'en-têtes de colonnes...

A+
 
Re : Affichage uniquement des cellules non vides aprés une recherche

Re,

Ah oui vous voulez joindre les textes de la ligne de titre :

Code:
Private Sub CommandButton1_click() 'bouton Lancer la recherche
 Dim t$, lig&, i&, j As Byte, col As Byte
 With ListBox1
   .Clear
   t = "*" & LCase(TextBox1) & "*"
   For lig = 2 To Cells(Rows.Count, 5).End(xlUp).Row
     If LCase(Cells(lig, 5)) Like t Then
       .AddItem
       .List(i, 0) = Cells(lig, 6) 'date
       .List(i, 1) = Cells(lig, 5) 'identité
       j = 2
       For col = 10 To 54 'colonne BB
         If Cells(lig, col) <> "" Then
           .List(i, j) = Cells(1, col) & " = " & Cells(lig, col)
           j = j + 1
           If j = 7 Then Exit For '5 valeurs maximum
         End If
       Next
       .List(i, 7) = lig
       i = i + 1
     End If
   Next
 End With
 End Sub
Mais je n'en vois guère l'intérêt...

A+
 
- 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
Retour