Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Créer une feuille nomée en vba avec variable

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 !

spitfire378

XLDnaute Occasionnel
Bonjour a tous

Alors tout d'abord voici mon code :

Code:
Sub nouveauplanning()

Dim retour As String
Dim retour2 As String

retour = InputBox("Entrez la date pour laquelle vous souhaitez générer un planning avec la syntaxe JJ/MM/AAAA", "", "", 100, 100)
retour2 = InputBox("Entrez le nom du moi en toutes lettres suivi de l'année (ex : septembre 2008)", "", "", 100, 100)

Sheets.Add(after:=Sheets(Sheets.Count)).Name = retour2

End Sub

Mais voila ca bug a la derniere ligne

Code:
Sheets.Add(after:=Sheets(Sheets.Count)).Name = retour2

Je ne peux pas donner a ma feuille le nom recueilli dans la variable retour2. Avez vous une idée? Merci d'avance
 
Re : Créer une feuille nomée en vba avec variable

Bonjour,

J'ai testé le code : pas de problème. Mais il y a forcément bug si la feuille existe déjà. Pour l'éviter, écrire avant la création :

On Error Resume Next

A+
 
Re : Créer une feuille nomée en vba avec variable

En effet, encore une fois je n'avais pas correctement regardé..

J'ai essayé d'améliorer ce code en testant la présence de la feuille :

Code:
Sub nouveauplanning()

Dim retour As String
Dim retour2 As String
Dim WS As Worksheet
Dim WSname As String

retour = InputBox("Entrez la date pour laquelle vous souhaitez générer un planning avec la syntaxe MM/AAAA", "", "", 100, 100)
retour2 = InputBox("Entrez le nom à donner a la feuille (ex : septembre 2008)", "", "", 100, 100)

For Each WS In Worksheets
If WS.Name = retour2 Then
MsgBox ("La feuille existe deja")
Else
Sheets.Add(after:=Sheets(Sheets.Count)).Name = retour2
End If
Next

    
End Sub

Mais ca ne marche pas, avez vous une idée?
 
Re : Créer une feuille nomée en vba avec variable

Re,

Essayez plutôt :

Code:
For Each WS In Worksheets
If WS.Name = retour2 Then
MsgBox ("La feuille existe deja")
Exit Sub
End If
Next
Sheets.Add(after:=Sheets(Sheets.Count)).Name = retour2

A+
 
Re : Créer une feuille nomée en vba avec variable

Re,

Essayez plutôt :

Code:
For Each WS In Worksheets
If WS.Name = retour2 Then
MsgBox ("La feuille existe deja")
Exit Sub
End If
Next
Sheets.Add(after:=Sheets(Sheets.Count)).Name = retour2

A+

Arf ca ne marche pas

J'au aussi un autre probleme ;

Code:
retour = InputBox("Entrez la date pour laquelle vous souhaitez générer un planning avec la syntaxe MM/AAAA", "", "", 100, 100)

J'aimerai pouvoir tester que l'utilisateur entre la bonne syntaxe

J'ai essayé :

Code:
retour = InputBox("Entrez la date pour laquelle vous souhaitez générer un planning avec la syntaxe MM/AAAA", "", "", 100, 100)
if retour.NumberFormat <> "00/0000" then
msgbox("Le format de la date entrée n'est pas correcte")

Mais la encore ca coince...
 
Re : Créer une feuille nomée en vba avec variable

Bonjour,

Arf ca ne marche pas

Curieux, chez moi aucun problème.

A la place d'un message, peut-être serait-il mieux simplement d'activer la feuille :

Code:
For Each WS In Worksheets
If WS.Name = retour2 Then
[COLOR="Red"]Sheets(retour2).Activate[/COLOR]
Exit Sub
End If
Next
Sheets.Add(after:=Sheets(Sheets.Count)).Name = retour2

Pour le contrôle du format, je regarde le problème.

A+
 
Re : Créer une feuille nomée en vba avec variable

Bonjour à tous,

une remarque en passant : tu souhaites générer des feuilles avec un nom du type MM/AAAA ?
sais-tu que le "/" est un caractère interdit dans les noms de feuilles ?
 
Re : Créer une feuille nomée en vba avec variable

Re,

J'aimerai pouvoir tester que l'utilisateur entre la bonne syntaxe

Essayez :

Code:
retour = InputBox("Entrez la date pour laquelle vous souhaitez générer un planning avec la syntaxe MM/AAAA", "", "", 100, 100)
If Not retour Like "##/####" then
msgbox("Le format de la date entrée n'est pas correcte")

Il faudrait aussi ajouter que le nombre MM est inférieur ou égal à 12, je vous laisse le faire si vous le souhaitez.

A+
 
Re : Créer une feuille nomée en vba avec variable

Bonjour à tous,

une remarque en passant : tu souhaites générer des feuilles avec un nom du type MM/AAAA ?
sais-tu que le "/" est un caractère interdit dans les noms de feuilles ?

Le nom de ma feuille est lié a ma variable retour2 qui si l'utilisateur a correctement rempli la msgbox contient une date au format septembre 2008 par exemple.
 
- 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
3
Affichages
808
Réponses
5
Affichages
535
  • Question Question
Microsoft 365 Question code VBA
Réponses
2
Affichages
539
Réponses
3
Affichages
582
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…