OVH Cloud OVH Cloud

Sélection avec VBA

1 réponse
Avatar
Stéphane
Bonjour,

J'ai un problème avec une macro

Sur une feuille nommée "données" j'ai créé un bouton auquel j'ai affecté la
macro "sélectionner".

CEtte dernière se trouve sour Workbook et est la suivante :

sub sélectionner ()

IF worksheets ("secret").range("c2").text = 1 then
sheets ("grille").select

else

IF worksheets ("secret").range("c2").text = 2 then
sheets ("grille").select

else

IF worksheets ("secret").range("c2").text = 3 then
sheets ("grille").select

else

IF worksheets ("secret").range("c2").text = 4 then
userform.show

else

IF worksheets ("secret").range("c2").text = 5 then
sheets ("garantie").select

else

IF worksheets ("secret").range("c2").text = 6 then
sheets ("formulaire").select

else

end if
end if
end if
end if
end if
end if
end sub

Les trois premiers fonctionnent à merveille, mais les 3 derniers (
userform.show, garantie.select et formaulaire. select fonctionnent une fois
sur 2 ou 3.

Quand ça ne fonctionne pas excel sélectionne la feuille grille. (pourtant la
cellule c2 de la feuille secret comprend toujours le bon numéro ????)

Que faire pour qu'il n'y ai plus d'erreur ...


D'avance merci de votre aide


Stéphane

1 réponse

Avatar
Pounet95
Bonjour,
A première vue, il y a beaucoup trop de If .... Then imbriqués.
Il vaut mieux utiliser une structure du genre :

Sub Sélectionner()
Select Case Sheets("secret").Range("C2").Value
Case 1,2,3
Sheets("grille").Select
Case 4
Userform.Show
Case 5
Sheets("garantie").Select
Case 6
Sheets("formulaire").Select

Case else
'-------
End Select
End Sub

--
Pounet95
on trouve tout ( ou presque ) http://www.excelabo.net/
"Stéphane" a écrit dans le message de
news:
Bonjour,

J'ai un problème avec une macro

Sur une feuille nommée "données" j'ai créé un bouton auquel j'ai affecté
la
macro "sélectionner".

CEtte dernière se trouve sour Workbook et est la suivante :

sub sélectionner ()

IF worksheets ("secret").range("c2").text = 1 then
sheets ("grille").select

else

IF worksheets ("secret").range("c2").text = 2 then
sheets ("grille").select

else

IF worksheets ("secret").range("c2").text = 3 then
sheets ("grille").select

else

IF worksheets ("secret").range("c2").text = 4 then
userform.show

else

IF worksheets ("secret").range("c2").text = 5 then
sheets ("garantie").select

else

IF worksheets ("secret").range("c2").text = 6 then
sheets ("formulaire").select

else

end if
end if
end if
end if
end if
end if
end sub

Les trois premiers fonctionnent à merveille, mais les 3 derniers (
userform.show, garantie.select et formaulaire. select fonctionnent une
fois
sur 2 ou 3.

Quand ça ne fonctionne pas excel sélectionne la feuille grille. (pourtant
la
cellule c2 de la feuille secret comprend toujours le bon numéro ????)

Que faire pour qu'il n'y ai plus d'erreur ...


D'avance merci de votre aide


Stéphane