Modifier la feuille active depuis une combo box (form control)

Bonjour à tous,

Je débute en VBA et j'ai problème avec ma macro.

En effet j'ai crée une combo box (form control) sur ma feuille principale avec les noms de 4 de mes feuilles. J'aimerais que lorsque je sélectionne une des feuilles depuis cette combo box elle deviennent la page sélectionnée par ma macro. Je ne sais pas si ma description est très précise mais voici ma macro lorsque je sélectionne une feuille en particulier:

Sub TEST2()
'
' TEST2 Macro
'

'
    Sheets("Chevron").Select
    Range("I252").Select
    ActiveCell.Value = ActiveCell.Value + Range("K258").Value
    Range("H252").Select
    ActiveCell.Value = ActiveCell.Value + (Range("E252").Value * Range("K258").Value)
    Sheets("Main sheet").Select
    Range("A1").Select

End Sub

Je voudrais pouvoir remplacer "Chevron" par la liste de feuilles contenue dans la combo box

Merci pour votre aide

Bonjour,

Normalement, ceci devrait marcher. Quant aux changements de valeurs, vous avez le choix de les activer ou pas :

Sub TEST2()

Dim ws as worksheet

Set ws = Sheets(combobox1.value)

with ws
'.Range("I252").Value = .Range("I252").Value + .Range("K258").Value
'.Range("H252").Value = .Range("H252").Value + (.Range("E252").Value * .Range("K258").Value)
.activate
end with

End Sub

Cdlt,

Merci pour votre réponse. J'ai essayé avec votre programme et mais j'ai le message d'erreur: "runtime error 424" Object required. Pourtant dans le name manager j'ai bien renommé ma combo box ComboBox1.

Ah mince ! Et pouvez-vous essayer comme ça

Sub TEST2()

Dim cb as Combobox
Dim ws as worksheet

Set cb = Sheets("Main sheet").ComboBox1
Set ws = Sheets(cb.value)

with ws
'.Range("I252").Value = .Range("I252").Value + .Range("K258").Value
'.Range("H252").Value = .Range("H252").Value + (.Range("E252").Value * .Range("K258").Value)
.activate
end with

End Sub

Cdlt,

Toujourspas j'ai le message d'erreur 438 " object doesn't supportthis propertyor method"

Bonjour,

Alors, un dernier essai en espérant qu'il fonctionne :

Sub TEST2()

Dim cb as Combobox '<<< éventuellement remplacer par Object
Dim ws as worksheet

Set cb = Sheets("Main sheet").OLEObjects("ComboBox1").object.value
Set ws = Sheets(cb.value)

with ws
'.Range("I252").Value = .Range("I252").Value + .Range("K258").Value
'.Range("H252").Value = .Range("H252").Value + (.Range("E252").Value * .Range("K258").Value)
.activate
end with

End Sub

Cdlt,

Pardon, il faut enlever le .value !!!

Sub TEST2()

Dim cb as Combobox '<<< éventuellement remplacer par Object
Dim ws as worksheet

Set cb = Sheets("Main sheet").OLEObjects("ComboBox1").object
Set ws = Sheets(cb.value)

with ws
'.Range("I252").Value = .Range("I252").Value + .Range("K258").Value
'.Range("H252").Value = .Range("H252").Value + (.Range("E252").Value * .Range("K258").Value)
.activate
end with

End Sub
Rechercher des sujets similaires à "modifier feuille active combo box form control"