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 :

[VBA-E] nom des onglets


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut [VBA-E] nom des onglets
    Bonjour

    voilà mon problème.
    Je dispose d'un classeur excel à 4 feuilles
    Feuille 1 = sommaire
    Feuille 2 = base de données
    Feuille 3 = masque
    Feuille 4 = graphique

    Je souhaite créer une copie de la feuille 3 et la renommer par "Janvier 2006"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Private Sub JANVIER2006_Click() 
       Worksheets("Base").Copy After:=Sheets(4)
        Worksheets("Base (2)").Select
        Worksheets("Base (2)").Name = "Janvier 2006"
        Worksheets("Janvier 2006").Range("E3").Select
    End sub
    Mon problème est que si je reclic sur le bouton "Janvier 2006", il me copie à nouveau la feuille 3 et essaye de la renommer par "Janvier 2006".
    Cela me renvoie une erreur!!! Normal la feuille existe déjà.
    Et c'est là que j'ai besoin de vous.
    Je souhaiterai vérifier que la feuille nommée "Janvier 2006" n'existe pas et alors je la crée, sinon j'active cette feuille.
    Je n'arrive pas à le faire j'ai essayé avec des boucle For, avec des Do while.
    Un peu d'aide me ferait plaisir

    Merci d'avance

  2. #2
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    tu peu par exemple utiliser la gestion d'erreur ... tu active la feuille ... et si Erreur .. c'est que celle-ci n'existe pas tu la crée..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub VerifieFeuille(st As String)
    On Error GoTo err_MqeFeuille
    Worksheets(st).Activate
    Exit Sub 'Pas d'erreur on sort ...
    err_MqeFeuille:
    'la feuille n'existe pas on la crée..
    Worksheets(3).Copy After:=Worksheets(Worksheets.Count)
    ActiveSheet.Name = st
     
    End Sub

  3. #3
    Expert confirmé

    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 419
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 419
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub JANVIER2006_Click() 
    on error resume next
     
       Worksheets("Base").Copy After:=Sheets(4) 
        Worksheets("Base (2)").Select 
        Worksheets("Base (2)").Name = "Janvier 2006" 
    on error goto 0
        Worksheets("Janvier 2006").Range("E3").Select 
    End sub

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    ok mais il crée quand même une feuille "Base (2)".
    Mais bon je peux la supprimer.
    Enfin je laisse cet topic ouvert jusqu'à ce soir et je la quote résolu demain si pas de modification d'ici là
    merci à tous les 2.

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    as tu tester mon code ...? par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    VerifieFeuille "Janvier 2006"

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    289
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 289
    Par défaut
    Merci bbil cela marche parfaitement.
    Respect !!!

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

Discussions similaires

  1. [VBA-E] Récupérer les noms des onglets
    Par a.dequidt dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/09/2007, 10h54
  2. Extraction nom des onglets d'un dessin autocad?
    Par Vbapprentis dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/06/2007, 12h58
  3. [VBA]Récuperer nom des champs
    Par fabiolous dans le forum VBA Access
    Réponses: 7
    Dernier message: 11/06/2007, 11h58
  4. [VBA-E] Nom d'onglet automatique
    Par steps5ive dans le forum Macros et VBA Excel
    Réponses: 19
    Dernier message: 14/04/2006, 12h42
  5. [VBA-A]noms des champs d'un recordset
    Par wildpenguin dans le forum VBA Access
    Réponses: 5
    Dernier message: 08/02/2006, 09h39

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