Casse tête SI + RECHERCHEV + ???

Arnaud02160

XLDnaute Nouveau
Bonjour La communauté E-D,

Je viens à vous car je cherche a faire une formule excel qui dépasse mes compétences et les quelques heures à chercher, m'ont apprises des choses mais cela ne m'a pas permis de trouver la solution à mon besoin.

J'en appelle donc à votre aide :)

Je vais essayer d'être le plus précis possible.
Je dispose d'un fichier composé de 2 onglets :
Le 1er : Liste des serveurs avec leur configuration existante (VmSize)
Le 2nd : Liste l'ensemble des configurations qque l'on peut affecter aux serveurs. Celles-ci peuvent être différentes en fonction des serveurs.

Mon besoin est d'identifier si pour les serveurs donnés, je dispose d'une configuration supérieure :
Configuration de base : Exemple : Standard_D1
Configuration supérieur : Exemple : Standard_D1_V2

On voit donc que les configurations supérieures sont sufixées par _V2, ou _V3


Je voudrais donc afficher dans une colonne de l'onglet 1 si je dispose d'une configuration supérieure pour les différents serveurs :
- Si je ne dispose pas de configuration supérieur, on met le texte "Uptodate"
- Si une configuration supérieure est disponible, on affiche le nom de cette configuration (Exemple : Standard_D1_V2)


Alors ca parait peut être simple mais après des heures de recherches je suis toujours dans l'impasse malgré l'utilisation des foncitons imbriquées SI, RECHERCHEV, ...


J'espère que l'un d'entre vous saura me guider.

Vous remerciant par avance,
Arnaud.
 

Pièces jointes

  • VMs.xlsx
    13.3 KB · Affichages: 41

Dranreb

XLDnaute Barbatruc
Bonsoir.
En F2 validé par Ctrl+Maj+Entrée puis propagé sur 2 lignes :
Code:
=EQUIV($B2&$C2;VmSizes!$A$2:$A$218&VmSizes!$B$2:$B$218;0)
En E2, à propager sur 2 lignes :
Code:
=SI(DECALER(VmSizes!$A$2;$F2;0)=$B2;DECALER(VmSizes!$B$2;$F2;0);"Uptodate")
 

Arnaud02160

XLDnaute Nouveau
Bonsoir.
En F2 validé par Ctrl+Maj+Entrée puis propagé sur 2 lignes :
Code:
=EQUIV($B2&$C2;VmSizes!$A$2:$A$218&VmSizes!$B$2:$B$218;0)
En E2, à propager sur 2 lignes :
Code:
=SI(DECALER(VmSizes!$A$2;$F2;0)=$B2;DECALER(VmSizes!$B$2;$F2;0);"Uptodate")

Bonsoir,
Déjà merci pour la rapidité de votre réponse.
Alors c'est pas tout à fait le résultat souhaité mais je pense que nous sommes pas loin, j'ai même jamais été aussi près ;)

Pour un serveur, la configuration supérieure n'est pas Conf. existante + 1, mais Conf. existante + _V2 ou _V3 à condition qu'une Conf. supérieure soit présente dans l'onglet N°2

Exemples :
Serveur 1
Conf. Existante Standard_A1 => Pas de Conf supérieur : Afficher "A jour"

Serveur 2
Conf. Existante Standard_D2 => Conf supérieur : Standard_D2_V2 : Afficher "A mettre à jour"

Serveur 3
Conf. Existante Standard_D2_V2=> Conf supérieur : Standard_D2_V3 : Afficher "A mettre à jour"
 

Arnaud02160

XLDnaute Nouveau
Merci mais ce n'est pas encore cela, ce qui tend a prouver qu'un problème bien posé est à moitié résolu. :)

Nouvel Exemple :
Serveur 2 :
Conf Existante : Basic_A0
En vérifiant dans l'onglet VmSizes, je n'ai pas de Conf. Basic_A0_V*, je considère donc que cette conf. est la plus adaptée donc, j'affiche "A jour"

Serveur 3 :
Conf Existante : Standard_D1
En vérifiant dans l'onglet VmSizes, j'ai une Conf. supérieure Standard_D1_V2, la conf doit être mise à jour, j'affiche "Mettre à jour" et comme vous l'avez fait j'en profite pour afficher la Conf. supérieure à savoir Standard_D1_V2

Serveur 3 :
Conf Existante : Standard_D11
En vérifiant dans l'onglet VmSizes, j'ai 2 Conf. supérieures Standard_D11_V2, ainsi que Standard_D11_V2_Promo.
La conf doit être mise à jour, j'affiche "Mettre à jour" et cerise sur le gateau, serait il possible d'afficher dans une ou plusieurs cellules les 2 Conf supérieures à savoir Standard_D11_V2 et Standard_D11_V2_Promo

PS : J'en profite pour remettre le fichier avec les info décrites dans l'exemple ci-dessus.

Et surtout vous remercier par avance du temps que vous passez sur mon sujet
 

Pièces jointes

  • VMs.xlsx
    13.5 KB · Affichages: 31

Dranreb

XLDnaute Barbatruc
Peut être en corrigeant le début de la formule =SI(DECALER(VmSizes!$A$2;$F2;0)=$B2;…
en : =SI(ET(DECALER(VmSizes!$A$2;$F2;0)=$B2;GAUCHE(DECALER(VmSizes!$B2$2;$F2;0);NBCAR($B2)))=$B2);…
Mais ça devient trop compliqué à mon goût ! J'écrirais peut être plutôt une fonction perso en VBA
 

Discussions similaires

Réponses
1
Affichages
725