OVH Cloud OVH Cloud

Renommer une feuille

7 réponses
Avatar
Caroline L.
Bonjour à vous !

Avec la procédure suivante :
Application.Dialogs(284).Show
je désire forcer l'utilisateur à renommer la feuille, mais il est bien
dommage de pouvoir cliquer sur OK ou sur ANNULER et finalement, la feuille
n'a pas été renommée. Je voudrais que tant et aussi longtemps que la feuille
n'est pas renommée, le bouton OK ou Annuler ne donne aucun résultat.

Merci pour votre précieux coup de main
Caroline

7 réponses

Avatar
papou
Bonjour
Récupère le résultat et fais une boucle par exemple :
Do While NouveauNom = False
NouveauNom = Application.Dialogs(284).Show
Loop

Cordialement
pascal

"Caroline L." a écrit dans le message de news:
XN%Wd.42120$
Bonjour à vous !

Avec la procédure suivante :
Application.Dialogs(284).Show
je désire forcer l'utilisateur à renommer la feuille, mais il est bien
dommage de pouvoir cliquer sur OK ou sur ANNULER et finalement, la feuille
n'a pas été renommée. Je voudrais que tant et aussi longtemps que la
feuille
n'est pas renommée, le bouton OK ou Annuler ne donne aucun résultat.

Merci pour votre précieux coup de main
Caroline




Avatar
Caroline L.
Bonjour Pascal,

Que veux-tu dire par "Récupère le résultat" ?

J'ai essayé ta procédure et cela fonctionne mais la boucle se répète 3 fois
je crois... c'est-à-dire que j'ai appuyé sur Ok ou sur Annuler et la boîte
dialogue ne se fermait pas (c'est exactement ce que je veux) mais après 3
fois environ, la boîte se ferme et finalement la feuille n'est pas renommée.
Je veux forcer l'utilisateur à renommer, sinon, rien ne se passe, il est
bloqué à cette étape.

merci

"papou" <cestpasbon@çanonplus44.fr> a écrit dans le message de news:

Bonjour
Récupère le résultat et fais une boucle par exemple :
Do While NouveauNom = False
NouveauNom = Application.Dialogs(284).Show
Loop

Cordialement
pascal

"Caroline L." a écrit dans le message de news:
XN%Wd.42120$
Bonjour à vous !

Avec la procédure suivante :
Application.Dialogs(284).Show
je désire forcer l'utilisateur à renommer la feuille, mais il est bien
dommage de pouvoir cliquer sur OK ou sur ANNULER et finalement, la
feuille


n'a pas été renommée. Je voudrais que tant et aussi longtemps que la
feuille
n'est pas renommée, le bouton OK ou Annuler ne donne aucun résultat.

Merci pour votre précieux coup de main
Caroline








Avatar
Clément Marcotte
Bonjour,


Sub PasDeChangementPasDAgrément()
Dim bongarçonoubonnefille As Boolean
Dim nomactuel As String, nouveaunom As String
nomactuel = ActiveSheet.Name
Do
nouveaunom = InputBox("Indiquez le nouveau nom de la feuille", _
"Renommer la feuille")

If nouveaunom = nomactuel Then
MsgBox "Modifiez le nom de de la feuille svp."
bongarçonoubonnefille = False
ElseIf nouveaunom = "" Then
bongarçonoubonnefille = False
MsgBox "Modifiez le nom de de la feuille svp."
Else
bongarçonoubonnefille = True
End If
Loop Until bongarçonoubonnefille
End Sub

"Caroline L." a écrit dans le message de
news:XN%Wd.42120$
Bonjour à vous !

Avec la procédure suivante :
Application.Dialogs(284).Show
je désire forcer l'utilisateur à renommer la feuille, mais il est
bien

dommage de pouvoir cliquer sur OK ou sur ANNULER et finalement, la
feuille

n'a pas été renommée. Je voudrais que tant et aussi longtemps que la
feuille

n'est pas renommée, le bouton OK ou Annuler ne donne aucun résultat.

Merci pour votre précieux coup de main
Caroline




Avatar
Clément Marcotte
Bonjour,

J'avions oublié que tu utilisais une boîte de dialogue pré-définie. Si
tu la mets à la place de l'InputBox, cela devrait faire pareil.


"Clément Marcotte" a écrit dans le
message de news:
Bonjour,


Sub PasDeChangementPasDAgrément()
Dim bongarçonoubonnefille As Boolean
Dim nomactuel As String, nouveaunom As String
nomactuel = ActiveSheet.Name
Do
nouveaunom = InputBox("Indiquez le nouveau nom de la feuille", _
"Renommer la feuille")

If nouveaunom = nomactuel Then
MsgBox "Modifiez le nom de de la feuille svp."
bongarçonoubonnefille = False
ElseIf nouveaunom = "" Then
bongarçonoubonnefille = False
MsgBox "Modifiez le nom de de la feuille svp."
Else
bongarçonoubonnefille = True
End If
Loop Until bongarçonoubonnefille
End Sub

"Caroline L." a écrit dans le message de
news:XN%Wd.42120$
Bonjour à vous !

Avec la procédure suivante :
Application.Dialogs(284).Show
je désire forcer l'utilisateur à renommer la feuille, mais il est
bien

dommage de pouvoir cliquer sur OK ou sur ANNULER et finalement, la
feuille

n'a pas été renommée. Je voudrais que tant et aussi longtemps que
la


feuille
n'est pas renommée, le bouton OK ou Annuler ne donne aucun
résultat.



Merci pour votre précieux coup de main
Caroline







Avatar
Caroline L.
Bonjour Clément,
merci pour ta réponse mais j'avoue ne pas vraiment comprendre.

Pour être plus claire, voici la fin de ma macro où je veux que
l'utilisateur renomme la feuille "Gestion 2". Comment puis-je adapter ce
que tu m'as fourni à ce que j'ai en ce moment ?
merci


Sheets("Gestion 2").Move After:=Sheets(Sheets.Count)

'renommer feuille
MsgBox ("Veuillez maintenant inscrire les dates de cette nouvelle
feuille")
Sheets("Gestion 2").Select

Application.Dialogs(284).Show

Range("D2").Select

End Sub






"Clément Marcotte" a écrit dans le message
de news:
Bonjour,


Sub PasDeChangementPasDAgrément()
Dim bongarçonoubonnefille As Boolean
Dim nomactuel As String, nouveaunom As String
nomactuel = ActiveSheet.Name
Do
nouveaunom = InputBox("Indiquez le nouveau nom de la feuille", _
"Renommer la feuille")

If nouveaunom = nomactuel Then
MsgBox "Modifiez le nom de de la feuille svp."
bongarçonoubonnefille = False
ElseIf nouveaunom = "" Then
bongarçonoubonnefille = False
MsgBox "Modifiez le nom de de la feuille svp."
Else
bongarçonoubonnefille = True
End If
Loop Until bongarçonoubonnefille
End Sub

"Caroline L." a écrit dans le message de
news:XN%Wd.42120$
Bonjour à vous !

Avec la procédure suivante :
Application.Dialogs(284).Show
je désire forcer l'utilisateur à renommer la feuille, mais il est
bien

dommage de pouvoir cliquer sur OK ou sur ANNULER et finalement, la
feuille

n'a pas été renommée. Je voudrais que tant et aussi longtemps que la
feuille

n'est pas renommée, le bouton OK ou Annuler ne donne aucun résultat.

Merci pour votre précieux coup de main
Caroline







Avatar
Clément Marcotte
Bonjour,

Pour être plus claire, voici la fin de ma macro où je veux que
l'utilisateur renomme la feuille "Gestion 2". Comment puis-je
adapter ce

que tu m'as fourni à ce que j'ai en ce moment ?
merci


J'ai essayé avec ta boîte de dialogue 285, mais je n'ai rien trouvé
qui permette de récupérer le nouveau nom et de tester en même temps.

Je l'ai remplacée par une InputBox

En gros, cela devrait donner quelque chose ressemblant à cela:

Sub Le_nom_de_ta_macro_actuelle()
'ajouter les dim
Dim bongarçonoubonnefille As Boolean
Dim nomactuel As String, nouveaunom As String

'Continuer avec
'L'autre partie de ta macro

'renommer feuille
MsgBox ("Veuillez maintenant inscrire les dates de cette nouvelle
feuille")

Sheets("Gestion 2").Move After:=Sheets(Sheets.Count)
Sheets("Gestion 2").Select

'tu peux mettre
nomactuel = "Gestion 2"

'ou
'nomactuel = ActiveSheet.Name
'si tu veux faire la même chose
'avec d'autres feuilles

Do

'la boîte de dialogue no 285 ne permet pas
'de retrouver le nouveau nom.
'prendre une InputBox à la place
nouveaunom = InputBox("Indiquez le nouveau nom de la feuille", _
"Renommer la feuille")

If nouveaunom = nomactuel Then
MsgBox "Modifiez le nom de de la feuille svp."
bongarçonoubonnefille = False
ElseIf nouveaunom = "" Then
bongarçonoubonnefille = False
MsgBox "Modifiez le nom de de la feuille svp."
Else
bongarçonoubonnefille = True
End If
Loop Until bongarçonoubonnefille
ActiveSheet.Name = nouveaunom
Range("D2").Select

End Sub

Avatar
Caroline L.
Re-bonjour Clément,

Je suis très heureuse, ça fonctionne super bien !
Merci beaucoup à toi
Bonne soirée


"Clément Marcotte" a écrit dans le message
de news:
Bonjour,

Pour être plus claire, voici la fin de ma macro où je veux que
l'utilisateur renomme la feuille "Gestion 2". Comment puis-je
adapter ce

que tu m'as fourni à ce que j'ai en ce moment ?
merci


J'ai essayé avec ta boîte de dialogue 285, mais je n'ai rien trouvé
qui permette de récupérer le nouveau nom et de tester en même temps.

Je l'ai remplacée par une InputBox

En gros, cela devrait donner quelque chose ressemblant à cela:

Sub Le_nom_de_ta_macro_actuelle()
'ajouter les dim
Dim bongarçonoubonnefille As Boolean
Dim nomactuel As String, nouveaunom As String

'Continuer avec
'L'autre partie de ta macro

'renommer feuille
MsgBox ("Veuillez maintenant inscrire les dates de cette nouvelle
feuille")

Sheets("Gestion 2").Move After:=Sheets(Sheets.Count)
Sheets("Gestion 2").Select

'tu peux mettre
nomactuel = "Gestion 2"

'ou
'nomactuel = ActiveSheet.Name
'si tu veux faire la même chose
'avec d'autres feuilles

Do

'la boîte de dialogue no 285 ne permet pas
'de retrouver le nouveau nom.
'prendre une InputBox à la place
nouveaunom = InputBox("Indiquez le nouveau nom de la feuille", _
"Renommer la feuille")

If nouveaunom = nomactuel Then
MsgBox "Modifiez le nom de de la feuille svp."
bongarçonoubonnefille = False
ElseIf nouveaunom = "" Then
bongarçonoubonnefille = False
MsgBox "Modifiez le nom de de la feuille svp."
Else
bongarçonoubonnefille = True
End If
Loop Until bongarçonoubonnefille
ActiveSheet.Name = nouveaunom
Range("D2").Select

End Sub