IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Renommer une feuille avec VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Points : 16
    Points
    16
    Par défaut Renommer une feuille avec VBA
    Bonjour,

    J'utilise Excel 2000
    Je crée de nouvelles feuilles de calcul avec une routine vba :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets("MODELE").Select
    Sheets("MODELE").copy After:=Sheets(1)
    Je voudrais créer une boite de dialogue pour que l'utilisateur renomme la feuille créée (par exemple avec un inputbox) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nom = InputBox("Renommer la nouvelle feuille", "CALCUL HORAIRE")
    Mais je ne vois pas comment attribuer le nom entrer dans la boîte de dialogue à la nouvelle feuille et vérifier si l'utilisateur ne laisse pas la plage vide.

    Pourriez-vous m'aider ?
    Merci !

  2. #2
    Membre régulier Avatar de DidierLoche
    Profil pro
    Inscrit en
    Octobre 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 58
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 84
    Points : 105
    Points
    105
    Par défaut
    Bonjour,
    A mettre après la copie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If nom <> "" Then ActiveSheet.Name = nom
    Didier

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 21
    Points : 16
    Points
    16
    Par défaut
    Merci Didier, c'est sympa de m'avoir répondu, mais ce n'est pas tout juste ce que je voulais faire ... pas d'inquiétude, en fouillant dans le forum, j'ai fini pas trouver ce que je voulais faire (ça m'a pris 3 heures mais enfin bon )
    Et j'ai donc ceci comme résultat (je le place ici ; on ne sait jamais, cela pourrait aider certains débutant)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
     
    Private Sub CommandButton1_Click()
    '
    ' copy Macro
    ' Macro enregistrée le 17/12/2008 par Pol SOUMILLON
    '
        Dim Msg, Style, Title, Help, Ctxt, Response, MyString
        Dim nom As String
        Dim nom1 As String
        Dim i As Byte
        Dim verif As Boolean
        Dim dte As Date
        Dim dte1 As String
    '
    ' Sauve le classeur actif
        ActiveWorkbook.Save
    ' Sélection la feuille MODELE et la copie
        Sheets("MODELE").Select
        Sheets("MODELE").copy After:=Sheets(1)
    ' Renommer la feuille.
    ' Définit dte et dte1 avec l'année en cours
        dte = Now()
        dte1 = Format(dte, "yyyy")
    '
    ' Définit le message d'invite
        Msg = "Définissez le nom de la nouvelle feuille" & Chr$(10)
        Msg = Msg & "Entrez le nom du mois auquel le calcul horaire" & Chr$(10)
        Msg = Msg & "fait référence" & Chr$(10)
        Msg = Msg & "caractères interdits : / \ ? * [ ]"
    recom:
        verif = False
        nom = InputBox(Msg, "CALCUL HORAIRE")
        If nom = "" Then
            GoTo recom
        Else
            For i = 1 To Sheets.Count
                If Sheets(i).Name = nom Then
                    verif = True
                End If
            Next
        End If
    '
        If verif = True Then
            MsgBox "La feuille " & nom & " existe déjà, veuillez choisir un autre nom!"
            GoTo recom:
        End If
    '
        nom1 = nom & " " & dte1
    '
        verif = False
        For i = 1 To Sheets.Count
            If Sheets(i).Name = nom1 Then
                verif = True
                End If
            Next
    '
        If verif = True Then
            MsgBox "La feuille " & nom1 & " existe déjà, veuillez choisir un autre nom!"
            GoTo recom:
        End If
    '
        ActiveSheet.Name = nom1
    End Sub

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Enlever le filtre d'une feuille avec VBA
    Par ghosty04 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/02/2009, 14h08
  2. protection d'une feuille avec vba
    Par hkpsyco dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 18/10/2007, 14h14
  3. Renommer une feuille avec la date du jour
    Par Oh!Tofocus dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 09/08/2007, 08h21
  4. Comment renommer une feuille en VBA
    Par Jusomi31 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/04/2007, 15h43
  5. [VBA] Copie d'une feuille (avec graphique)
    Par ed_dexia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/10/2005, 09h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo