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

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
 

spitfire378

XLDnaute Occasionnel
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?
 

job75

XLDnaute Barbatruc
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+
 

spitfire378

XLDnaute Occasionnel
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...
 

job75

XLDnaute Barbatruc
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+
 

job75

XLDnaute Barbatruc
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+
 

spitfire378

XLDnaute Occasionnel
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.
 

Statistiques des forums

Discussions
312 520
Messages
2 089 292
Membres
104 089
dernier inscrit
salimgtu