Définir un onglet (dont le nom a été récupéré via une InputBox) dans une variable

  • Initiateur de la discussion Initiateur de la discussion Fab117
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Fab117

XLDnaute Impliqué
Salut,
Je souhaiterais définir un onglet dans la variable "MoisConcerne". Le nom de cet onglet doit être récupérer via une InputBox "EntreeDeLInputBox".
Mais ma macro plante sur : Set MoisConcerne = Sheets(EntreeDeLInputBox)

Quelqu'un aurait-il svp la solution ?

Merci par avance.

Fab

Dim MoisConcerne As Worksheet
Dim EntreeDeLInputBox As String
EntreeDeLInputBox = InputBox("Indiquer ici le mois concerné", "Mois à traiter", "Ecrire le mois exactement comme il est écrit sur l'onglet de destination")
If EntreeDeLInputBox = "" Then Exit Sub
Set MoisConcerne = Sheets(EntreeDeLInputBox)
 
Re : Définir un onglet (dont le nom a été récupéré via une InputBox) dans une variabl

Merci pour vos réponses rapides.
Et ...
... vous avez raison, chez moi aussi ça marche.

En fait quand j'ai fait l'essai, j'ai rentré n'importe quoi dans l'InputBox et c'est ce qui fait planter la macro.

Mais du coup, ça m'amène à vous demander autre chose : Lorsque la personne rentre le texte dans l'InputBox, est-il possible que la Macro contrôle si le nom existe dans les onglets et que sinon elle refuse l'entrée ?

Fab
 
Re : Définir un onglet (dont le nom a été récupéré via une InputBox) dans une variabl

Mais tout à fait,

Dim MoisConcerne As Worksheet
Dim EntreeDeLInputBox As String
On Error GoTo Erreur1
Retour1:
EntreeDeLInputBox = InputBox("Indiquer ici le mois concerné", "Mois à traiter", "Ecrire le mois exactement comme il est écrit sur l'onglet de destination")
If EntreeDeLInputBox = "" Then Exit Sub
Set MoisConcerne = Sheets(EntreeDeLInputBox)
'...
On Error GoTo 0
Exit Sub
Erreur1:
MsgBox "Cette feuille n'existe pas !"
Resume Retour1
End Sub
 
Re : Définir un onglet (dont le nom a été récupéré via une InputBox) dans une variabl

Bonjour à tous,

Un autre essai:
Code:
Dim MoisConcerne As Worksheet
Dim EntreeDeLInputBox As String
Do
EntreeDeLInputBox = InputBox("Indiquer ici le mois concerné", "Mois à traiter", "Ecrire le mois exactement comme il est écrit sur l'onglet de destination")
On Error Resume Next
Set MoisConcerne = Sheets(EntreeDeLInputBox)
Loop While Err = 9
On Error GoTo 0

Bon aprés midi,

Ninbihan
 
Re : Définir un onglet (dont le nom a été récupéré via une InputBox) dans une variabl

Merci ça fonctionne parfaitement.

Par curiosité, j'aurais 2 questions :

- Si plus loin dans mon code, j'ai d'autres sources d'erreur possible, puis-je juste avant le code concernée mettre un "On Error GoTo Erreur2" et définir autre chose comme erreur 2 ?

- A quoi sert :
On Error GoTo 0
Exit Sub

Fab
 
Re : Définir un onglet (dont le nom a été récupéré via une InputBox) dans une variabl

Oui, tout à fait, il faudra penser à mettre un Exit Sub entre chaque gestion d'erreur.
Saches que chaque gestion d'erreur doit se terminer par un Resume, un Exit ou un End

On error goto 0 signifie : à partir de là, s'il y a une erreur, tu plante normalement. 🙂
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
22
Affichages
3 K
Retour