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

XL 2016 Afficher la liste des valeurs en fonction d'un critère

Did64170

XLDnaute Nouveau
Bonjour,

Je cherche comment résoudre mon problème.
J'ai un classeur avec 2 feuilles :
  • VM
  • feuil2
Dans la feuille VM, je souhaiterais afficher à partir de la ligne 5 la liste des machines présentes en feuil2 en respectant le critère de son OS
A partir de la colonne A5 et suivantes, tous les noms de machines qui contiennent "Debian*" dans leur OS (colonne C de la feuil2)
A partir de la colonne B6 et suivantes, tous les noms de machines qui contiennent "Ubuntu*" dans leur OS (colonne C de la feuil2)
etc

Merci pour vos retours et solutions.

Dans l'attente.

Cordialement,
 

Pièces jointes

  • VM.xlsx
    57.7 KB · Affichages: 6

Tr1stan

XLDnaute Nouveau
Salut Did64170

ci-joint le fichier avec une fonction personnalisée (VBA) :
(j'ai modifié une fonction faite par Jacques Boisgontier)
=RechPartTous(code_recherche;matrice_recherche;matrice_valeurs_retour)
tu as un ";" comme séparateur qui peut se modifier dans le code VBA

cela te donne la liste des VM dans la cellule en dessous de l'OS (ligne 5).

On pourrait rajouter le choix du séparateur dans les arguments de la fonction si la solution est OK.

à ta dispo si besoin.
 

Pièces jointes

  • VM-2.xlsm
    64.7 KB · Affichages: 5

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonsoir Did, Tristan,
Une autre approche avec :
VB:
Sub Worksheet_Activate()
Dim tablo, T, N%, i%, C%
[A5:F1000].ClearContents
Application.ScreenUpdating = False
tablo = [VM]
T = Array("*debian*", "*ubuntu*", "*centos*", "*suse linux*", "*vmware photon*", "*microsoft windows*")
For i = 1 To UBound(tablo)
    C = 0
    Serveur = LCase(tablo(i, 2))
    For N = 0 To 5
        If Serveur Like T(N) Then C = N + 1
    Next N
    If C > 0 Then
        DL = 1 + Cells(10000, C).End(xlUp).Row
        Cells(DL, C) = tablo(i, 1)
    End If
Next i
End Sub
La mise à jour est automatique lorsqu'on sélectionne la feuille VM.

NB: Petit détail significatif, en D3 c'est Suse et non Suze !
 

Pièces jointes

  • VM (1).xlsm
    69.7 KB · Affichages: 6

Did64170

XLDnaute Nouveau
Bonjour à tous,

Je vous remercie pour votre retour. Je vais étudier cela mais un grand merci pour tout.

PS : pour Sylvanu, "Suze !" est une faute de frappe... mais bon pour vous remercier, une petite "Suze", pourquoi pas
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…