MsgBox pour nommé une feuille de calcul
Fermé
arc
-
28 août 2013 à 13:03
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 28 août 2013 à 14:37
melanie1324 Messages postés 1504 Date d'inscription vendredi 25 mai 2007 Statut Membre Dernière intervention 31 janvier 2018 - 28 août 2013 à 14:37
A voir également:
- MsgBox pour nommé une feuille de calcul
- Calcul moyenne excel - Guide
- Feuille de pointage excel - Télécharger - Tableur
- Comment supprimer une feuille sur word - Guide
- Bruler une feuille de laurier - Guide
- Comment imprimer en a5 sur une feuille a4 - Guide
2 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
28 août 2013 à 13:10
28 août 2013 à 13:10
Bonjour,
Sheets("Feuil1").Copy After:=Sheets(ThisWorkbook.Sheets.Count)
do while feuille = ""
feuille = InputBox("Merci d'indiquer le nom de la feuille", "Nom de la feuille")
loop
Sheets(Sheets.Count).Name = feuille
Sheets("Feuil1").Copy After:=Sheets(ThisWorkbook.Sheets.Count)
do while feuille = ""
feuille = InputBox("Merci d'indiquer le nom de la feuille", "Nom de la feuille")
loop
Sheets(Sheets.Count).Name = feuille
OOOOOOPS je m'excuse j'ai oublié une partie de mon message i'm so sorry !
En effet, j'ai déjà fait mes recherches biensur !
Voici mon code :
reponse = InputBox("Quelle date correspond à cette feuille ?")
Sheets(Sheets.Count).Name = reponse
Mais je n'arrive pas a rentré de date, il me donne une erreur.
Désolé pour l'oublie
En effet, j'ai déjà fait mes recherches biensur !
Voici mon code :
reponse = InputBox("Quelle date correspond à cette feuille ?")
Sheets(Sheets.Count).Name = reponse
Mais je n'arrive pas a rentré de date, il me donne une erreur.
Désolé pour l'oublie
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
28 août 2013 à 13:20
28 août 2013 à 13:20
sous quel format tu rentres ta date?
jj/mm/AAAA ou
JJ.mm.AAAA
ou?
jj/mm/AAAA ou
JJ.mm.AAAA
ou?
J'ai reussi a faire ça.
Jour = (InputBox("Selectionner la date de la feuille au format JJ-MM", "DATE DE LA FEUILLE"))
Sheets("Feuil1").Copy After:=Sheets(ThisWorkbook.Sheets.Count)
Sheets(Sheets.Count).Name = Format(Jour, "dd-mm")
Mais pas avec le format DD/MM je n'y arrive pas.
Mais ça ce n'est pas grave, c'est possible de faire un code qui, si la réponse ne correspond pas au format, donne un code d'erreur (de mon choix) et redonne l'input box en boucle tant que la réponse n'est pas satisfaisante ?
Jour = (InputBox("Selectionner la date de la feuille au format JJ-MM", "DATE DE LA FEUILLE"))
Sheets("Feuil1").Copy After:=Sheets(ThisWorkbook.Sheets.Count)
Sheets(Sheets.Count).Name = Format(Jour, "dd-mm")
Mais pas avec le format DD/MM je n'y arrive pas.
Mais ça ce n'est pas grave, c'est possible de faire un code qui, si la réponse ne correspond pas au format, donne un code d'erreur (de mon choix) et redonne l'input box en boucle tant que la réponse n'est pas satisfaisante ?
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
Modifié par melanie1324 le 28/08/2013 à 13:41
Modifié par melanie1324 le 28/08/2013 à 13:41
tu ne peux pas faire rentrer le symbole / dans le nom d'une feuille.
Tu peux aussi faire ca :
do while feuille = ""
feuille = InputBox("Merci d'indiquer le nom de la feuille", "Nom de la feuille")
loop
' en gros tu peux écrire ton format date DD/mm, le nom de ta feuille deviendra DD-MM
test = feuille
feuille = ""
do while len(test) >0
if left (test,1) <> "/" then
feuille = feuille & left(test,1)
else
feuille = feuille &"-"
end if
test = right(test,len(test)-1)
loop
Sheets(Sheets.Count).Name = feuille
Tu peux aussi faire ca :
do while feuille = ""
feuille = InputBox("Merci d'indiquer le nom de la feuille", "Nom de la feuille")
loop
' en gros tu peux écrire ton format date DD/mm, le nom de ta feuille deviendra DD-MM
test = feuille
feuille = ""
do while len(test) >0
if left (test,1) <> "/" then
feuille = feuille & left(test,1)
else
feuille = feuille &"-"
end if
test = right(test,len(test)-1)
loop
Sheets(Sheets.Count).Name = feuille
Okay mais moi j'ai fait plus simple, j'ai mis :
If Not IsDate(Jour) Then GoTo 1
Qui transforme 24/08 en 24-08 aussi, mais mon soucis c'est que si je rentre une valeur fausse, il va m'afficher une erreur d'execution VBA. Donc je voudrais qu'a la place de cette erreur, il y ai un retour vers la inputbox en boucle tant que la réponse donné ne correspond pas au bon format.
Il y a aussi une erreur si le nom choisi est déjà pris, je voudrais aussi changer le code d'erreur d'execution par mon propre code d'erreur avec un retour vers l'inputbox !
Code actuel :
Je vais testé ton code que tu m'a concocté merci pour ton aide !
PS les erreurs sont les suivantes :
Erreur d'excution 13 : donné de l'inputbox vide ou incompatible (par exemple 24/24)
Erreur d'excution 2004 : Nom déjà pris
Possible de les contournés ?
If Not IsDate(Jour) Then GoTo 1
Qui transforme 24/08 en 24-08 aussi, mais mon soucis c'est que si je rentre une valeur fausse, il va m'afficher une erreur d'execution VBA. Donc je voudrais qu'a la place de cette erreur, il y ai un retour vers la inputbox en boucle tant que la réponse donné ne correspond pas au bon format.
Il y a aussi une erreur si le nom choisi est déjà pris, je voudrais aussi changer le code d'erreur d'execution par mon propre code d'erreur avec un retour vers l'inputbox !
Code actuel :
Dim Jour As Date 1 Jour = (InputBox("Selectionner la date de la feuille", "DATE DE LA FEUILLE")) If Not IsDate(Jour) Then GoTo 1 Sheets("Feuil1").Copy After:=Sheets(ThisWorkbook.Sheets.Count) Sheets(Sheets.Count).Name = Format(Jour, "dd-mm")
Je vais testé ton code que tu m'a concocté merci pour ton aide !
PS les erreurs sont les suivantes :
Erreur d'excution 13 : donné de l'inputbox vide ou incompatible (par exemple 24/24)
Erreur d'excution 2004 : Nom déjà pris
Possible de les contournés ?
28 août 2013 à 13:13