creer une inputbox pour renommer un onglet

lordfolk

XLDnaute Nouveau
bonjour

je voudrais creer une inputbox qui me demandera le nom de ma feuille excel copier qui est lancer grace a ma macro.

le nom de l'onglet sera le nom rentrer dans l'inputbox


merci de vos reponse et de votre patience merci
 

Pièces jointes

  • exemple.xls
    46.5 KB · Affichages: 129
  • exemple.xls
    46.5 KB · Affichages: 124
  • exemple.xls
    46.5 KB · Affichages: 140

Hulk

XLDnaute Barbatruc
Re : creer une inputbox pour renommer un onglet

Hello Lordfolk,

Modifies ton code comme ceci...
Code:
Private Sub CommandButton1_Click()
    
    Dim c As Variant
    
    c = InputBox("Veuillez nommer la feuille...", "Nom de la feuille à copier")
    
    If c <> "" Then ' Si "c" n'est pas vide
        'sélectionne toutes les cellules
        Cells.Select
        'copier la feuille        
        Selection.Copy
        'sélectionne la cellule active
        ActiveCell.Select
        'ajoute une feuille et la place en fin de liste
        ActiveWorkbook.Sheets.Add after:=Worksheets(Worksheets.Count)
        'colle sur la nouvelle feuille
        ActiveSheet.Paste
        'Nomme la nouvelle feuille
        ActiveSheet.Name = c
        sélectionne la cellule active
        ActiveCell.Select
    Else ' Si "c" est vide
        Exit Sub 'il arrête la procédure
    End If 'Fin de la condition
    
End Sub
Cdt, Hulk.
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Re : creer une inputbox pour renommer un onglet

Bonsoir,

une autre solution...

En évitant les caractères interdits, dans les noms d'onglets...

PS, tu aurais pu rester sur le même fil

le code :

Code:
Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Me.Copy After:=Sheets(Sheets.Count)
nom = InputBox("Quel nom?", "Nom de la nouvelle recherche")
interdits = Array("[", "]", "/", "\", ":", "*", "?", "'")
For i = 0 To UBound(interdits)
    nom = Application.Substitute(nom, interdits(i), "-")
Next i
ActiveSheet.Name = nom
ActiveSheet.Shapes("CommandButton1").Delete
Me.Select
End Sub

Bonne soirée
 

lordfolk

XLDnaute Nouveau
Re : creer une inputbox pour renommer un onglet

le probleme qui me vient en tete c'est si l'operateur rentre le nom de l'onglet deja present.

Je voudrais mettre une message VBcritical qui saffiche et qui previent l'operateur que le nom de l'onglet et deja present.


merci de vos reponses
 

sabzzz

XLDnaute Junior
Re : creer une inputbox pour renommer un onglet

le probleme qui me vient en tete c'est si l'operateur rentre le nom de l'onglet deja present.

Je voudrais mettre une message VBcritical qui saffiche et qui previent l'operateur que le nom de l'onglet et deja present.


bonjour lordfolk,

voilà, j'ai modifié un peu la macro donner par bhbh

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
Me.Copy After:=Sheets(Sheets.Count)
bis:
nom = InputBox("Quel nom?", "Nom de la nouvelle recherche", "xxxx")
interdits = Array("[", "]", "/", "\", ":", "*", "?", "'")
For i = 0 To UBound(interdits)
nom = Application.Substitute(nom, interdits(i), "-")
Next i
For Each f In Worksheets
If f.Name = nom Then
MsgBox "Ce nom existe déjà, S.V.P. recommencer!"
GoTo bis
End If
Next
ActiveSheet.Name = nom
ActiveSheet.Shapes("CommandButton1").Delete
Me.Select
End Sub

a+
 

lordfolk

XLDnaute Nouveau
Re : creer une inputbox pour renommer un onglet

merci kiki29 c'est parfait c'est exactement ca

merci aussi a tous ceux qui ont eu la patience me repondre
longue vie a se site tres utile et qui sauve la vie au gars qui bataille sur VB

ENCORE UN GRAND MERCI


merci
 

Discussions similaires

Réponses
2
Affichages
325
Réponses
4
Affichages
132

Statistiques des forums

Discussions
312 400
Messages
2 088 087
Membres
103 711
dernier inscrit
mindo