|
|
|
|
Bonjour,
Je souhaite réaliser un affichage particulier dans une cellule :
J'ai des noms d'applications sur une feuille excel. Dans une autre feuille du meme classeur, j'ai un tableau croisé dynamique dans lequel je trouve les applications contenues dans un serveur
ex: serveur1 appli1
appli2
appli3
serveur2 appli2
appli3
serveur3 appli1
appli3
Je dois mettre à jour réhulierement les applications.
Je souhaite afficher dans ma cellule les serveurs contenant l'application à mette à jour (celle qui est écrite dans une autre cellule)
Si dans ma cellule je rentre appli2, je souhaite qu'apparaisse automatiquement dans une autre cellule serveur1 - serveur2
Merci pour votre aide
Configuration: Windows XP Opera 9.25
Allo Houston, me recevez-vous ?
Function ListB(Liste As Range, Chaine As String) As String
Dim source()
Dim i As Integer
Dim clé As String, ret As String
If Liste.Columns.Count <> 2 Then
MsgBox ("'Liste' doit avoir 2 colonnes")
ret = "Erreur"
Else
source = Liste.Value
For i = 1 To UBound(source, 1)
If source(i, 1) <> "" Then clé = source(i, 1)
If source(i, 2) = Chaine Then ret = ret & " - " & clé
Next i
End If
ListB = Mid(ret, 4)
End Function
Le 1er parametre est ta liste serveurs/applis sans les titres de colonne, le 2nd parametre est la chaine recherchée en 2nde colonne (appli-x). La fonction fonctionne (hé oui) que le nom du serveur soit répété sur chaque ligne ou qu'il ne soit présent que la 1ère fois (TCD) http://www.cijoint.fr/cjlink.php?file=cj200802/cij11378708154328.xls eric PS: tu peux enlever la ligne msgbox... un peu dur sur une fonction si elle est présente 50 fois sur la feuille ;-) |