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 :

Création de Feuille Automatique


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Points : 12
    Points
    12
    Par défaut Création de Feuille Automatique
    Bonjour à Toutes et à tous
    Je souhaite créer des feuilles automatiquement avec un bouton de command, ainsi qu' avec un inputbox je voudrais lui mettre un numéro ou une lettre, deplus je voudrais être averti quand deux feuilles porte le même nom.
    j'ai réalisé se code qui ne foncionne pas trés bien,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Sub TronçonSuivant()
        'Crée Une Nouvelle Feuille
            ActiveSheet.Copy after:=Sheets(Sheets.Count)
        'Efface le nom du nouvelle Feuille créer
            Sheets(Sheets.Count).Name = " "
     
        Dim MyVar1 As Variant
        'Affiche l'inputbox
            MyVar1 = Application.InputBox("Entrez un numéro ou une lettre du Tronçon", "Tronçon")
        'Met le nouveau nom sur la nouvelle feuille
            Sheets(Sheets.Count).Name = "Tronçon_" & MyVar1
            Range("C9").Value = MyVar1
    End Sub
    ensuite je voudrais être avertis si une nouvelle feuille créée existe déjà.
    J'ai essayais avec ce qui suit mais je n'obtient pas se que je veut.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            If Sheets(Sheets.Count).Name = Sheets(Sheets.Count).Name Then
            Variable = MsgBox("Un Tronçon du même nom existe déjà !", vbExclamation, "Attention")
            MyVar1 = Application.InputBox("Entrez un numéro ou une lettre du Tronçon", "Tronçon")
            End If
    Cordialement
    Merci

  2. #2
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 754
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 754
    Points : 9 396
    Points
    9 396
    Par défaut
    Bonjour,

    Je pense qu'il vaut mieux vérifier si la feuille existe avant de la créer.

    Dans la proposition ci dessous, on boucle sur toutes les feuilles du classeur pour vérifier si son nom = nom a créer.
    Si c'est le cas, on affiche un message d'avertissement proposant si l'utilisateur souhaite refaire un essaie.
    Si oui on repropose le message sinon on sort
    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
    Sub TronçonSuivant()
     
    Dim MyVar1 As String
    Dim Sh As Worksheet
     
     
    'Affiche l'inputbox
    Debut:
    MyVar1 = Application.InputBox("Entrez un numéro ou une lettre du Tronçon", "Tronçon")
     
    For Each Sh In ThisWorkbook.Worksheets
     
        If Sh.Name = "Tronçon_" & MyVar1 Then
             If MsgBox("Un Tronçon du même nom existe déjà !" & vbLf & "Voulez vous réessayer?", vbExclamation + vbYesNo, "Attention") = vbNo Then
                Exit Sub
            Else
                GoTo Debut
            End If
        End If
     
    Next Sh
     
     
    'Crée Une Nouvelle Feuille
    ActiveSheet.Copy after:=Sheets(Sheets.Count)
     
    'Met le nouveau nom sur la nouvelle feuille
    Sheets(Sheets.Count).Name = "Tronçon_" & MyVar1
    Range("C9").Value = MyVar1
     
    End Sub
    Jérôme

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 13
    Points : 12
    Points
    12
    Par défaut Bonjour,
    C'est parfait, cela me convient tout à fait.
    Merci beaucoup.
    @+

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

Discussions similaires

  1. [VBA-E] Création de feuille automatique
    Par matt8-5 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/01/2007, 11h59
  2. création et entretien automatique d'historique
    Par tojiji dans le forum Access
    Réponses: 1
    Dernier message: 18/07/2006, 03h17
  3. [VBA Excel] macro création de feuille
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 29/06/2006, 11h13
  4. VB6 : création de feuilles dans un classeur Excel
    Par getea85 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 04/11/2005, 16h37
  5. [Tableaux] Création de lien automatique
    Par GarGamel55 dans le forum Langage
    Réponses: 3
    Dernier message: 17/09/2005, 17h26

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