If sur liste déroulante

Bonjour à tous et merci pour ce magnifique forum qui me permet de progresser en VBA Excel ,

je me permets de vous solliciter suite à un petit soucis que je rencontre :

J'ai créé une liste déroulante contenant un texte (Base ou HP-HC). Du coup j'essaie ensuite de poser une condition IF en fonction de cette liste déroulante. Pour la première partie de la condition c'est ok, mais après le ELSE j'ai un message d'erreur " L'indice n'appartient pas à la sélection"... Si quelqu'un pouvait m'aider ce serait super cool n Merrrrci encore

Sub Comparateur_C5()
'Varaibles
Dim Conso As Double
Dim ConsoHP As Double
Dim ConsoHC As Double
Dim Duree As Double
Dim Budget_initial As Double
Dim Nouveau_budget As Double
Dim cell As Range
Set Rng = Worksheets("Comparateur_").Range("B5")
'Données (Grille TRV)

Dim Prix_TRV_base As Double, HP_TRV As Double, HC_TRV As Double
Prix_TRV_base = 100.1
HP_TRV = 108
HC_TRV = 78.6

'Effacer les dernière valeurs
Sheets("Comparateur_").Range("B12:B14").ClearContents

'Calcul comparateur

For Each cell In Rng
If InStr(1, cell.Value, "Base") > 0 Then

Conso = Sheets("Comparateur_").Range("B6").Value
Duree = Sheets("Comparateur_").Range("B9").Value
Budget_initial = Prix_TRV_base * Conso
Sheets("Comparateur_").Range("B12").Value = Budget_initial

        If Duree <= 12 Then
                Nouveau_budget = Prix_TRV_base * 0.95 * 0.97 * Conso '1er année reduc de 5% et 7 % avec CE
                Sheets("Comparateur_").Range("B13").Value = Nouveau_budget
                Economie = ((Nouveau_budget - Budget_initial) * Duree) / 12
                Sheets("Comparateur_").Range("B14").Value = Economie
                    If Economie <= 0 Then
                    Sheets("Comparateur_").Range("B14").Font.ColorIndex = 50 'Vert
                    Else
                    Sheets("Comparateur_").Range("B14").Font.Color = RGB(255, 0, 0) 'Rouge
                    End If

        Else

                Nouveau_budget = Prix_TRV_base * 0.95 * Conso  'les années suivantes reduc de 5%  avec CE
                Sheets("Comparateur_").Range("B13").Value = Nouveau_budget
                Economie = ((Nouveau_budget - Budget_initial) * Duree) / 12
                Sheets("Comparateur_").Range("B14").Value = Economie
                    If Economie <= 0 Then
                    Sheets("Comparateur_").Range("B14").Font.ColorIndex = 50 'Vert
                    Else
                    Sheets("Comparateur_").Range("B14").Font.Color = RGB(255, 0, 0) 'Rouge
                    End If
       End If
    Exit For

Else
Sheets("Comparateur_").Range("B6").Value = 0
ConsoHP = Sheets("Comparateur_").Range("B7").Value
ConsoHC = Sheets("Comparateur_").Range("B8").Value
Duree = Sheets("Comparateur_").Range("B9").Value
Budget_initial = HP_TRV * ConsoHP + HC_TRV * ConsoHC
Sheets("Comparateur_").Range("B12").Value = Budget_initial

     If Duree <= 12 Then
                Nouveau_budget = HP_TRV * 0.95 * 0.97 * ConsoHP + HC_TRV * 0.95 * 0.97 * ConsoHC   '1er année reduc de 5% et 7 % avec CE
                Sheets("Comparateur_").Range("B13").Value = Nouveau_budget
                Economie = ((Nouveau_budget - Budget_initial) * Duree) / 12
                Sheets("Comparateur_").Range("B14").Value = Economie
                    If Economie <= 0 Then
                    Sheets("Comparateur").Range("B14").Font.ColorIndex = 50 'Vert
                    Else
                    Sheets("Comparateur").Range("B14").Font.Color = RGB(255, 0, 0) 'Rouge
                    End If

        Else

               Nouveau_budget = HP_TRV * 0.95 * ConsoHP + HC_TRV * 0.95 * ConsoHC   'les autres années année reduc de % avec CE
                Sheets("Comparateur_").Range("B13").Value = Nouveau_budget
                Economie = ((Nouveau_budget - Budget_initial) * Duree) / 12
                Sheets("Comparateur_").Range("B14").Value = Economie
                    If Economie <= 0 Then
                    Sheets("Comparateur_").Range("B14").Font.ColorIndex = 50 'Vert
                    Else
                    Sheets("Comparateur_").Range("B14").Font.Color = RGB(255, 0, 0) 'Rouge
                    End If
        End If
End If
Next cell

MsgBox ("Le comparatif a bien été calculé avec succès :)")

End Sub

Salut BienCoiffé,

Tu as été distrait, tu as mal écrit le nom de ta feuille !

Sheets("Comparateur")

Au lieu de :

Sheets("Comparateur_")

Bonne soirée,

Baboutz

AHhhh bien vu merciiiiiii

Avec plaisir !

Bonne soirée,

Baboutz

Rechercher des sujets similaires à "liste deroulante"