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 :

workbook add particuler


Sujet :

Macros et VBA Excel

  1. #1
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut workbook add particuler
    bonjour a tous,
    je souhaiterai ouvrir par macro un nouveau classeur avec une seule feuille appelée "Récap" et le classeur avec le même nom.

    je voulais utiliser Workbooks.Add avec un de ses parametre, mais je ne les comprend pas, et l'aide Excel ne sert a rien par ce que c'est pas clair du tout.

    Par avance, merci .

  2. #2
    Membre éclairé Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Par défaut
    Je ne sais pas si j'ai bien compris mais essaye ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Khadra()
    Workbooks.Add
          Sheets("Feuil1").Name = "RECAP"
           ActiveWorkbook.SaveAs Filename:="D:\RECAP.XLSX"
     
        End Sub

  3. #3
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    quand on fais workbook.add ca ouvre un nouveau classeur mais avec 3 feuilles, on peut effectivement renomer la feuille, mais il faut egalement penser a supprimer les 2 autre, n'existe t'il pas une facon de faire pour n'avoir qu'une seule feuille d'entrée ?

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435

  5. #5
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    Parfait !
    Merci beaucoup.

    Petit chipotage de plus ^^, est il possible de renomer la feuille directement ?

  6. #6
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.ActiveSheet.Name = "TOTO"

  7. #7
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    Oui ok, mais c'est en deux temps donc ?

    premierement:
    Deuxiemement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Activeworkbook.Activesheet.Name = "toto"
    Il n'y a pas de moyen de faire ca en une seule etape ?

  8. #8
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Add(1).Sheets(1).Name = "TOTO"
    ne demande surtout pas en un mot

  9. #9
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    C’est même plus compliqué que cela :

    Ta demande d’origine :

    je souhaiterai ouvrir par macro un nouveau classeur avec une seule feuille appelée "Récap" et le classeur avec le même nom.
    Donc, si on reformule, tu veux créer un classeur nommé Récap avec une feuille unique nommée Récap également.

    Il faut penser qu’il y a une distinction entre un Classeur Excel et un fichier Excel.

    Quand tu ouvres un fichier Excel, l’application crée un Classeur pour l’héberger.

    Quand tu créés un nouveau Classeur via la méthode Add, tu créés un Classeur, mais tu n’as pas créé de fichier correspondant, ça ne se fera que par le biais d’une sauvegarde.

    Pour bonne preuve :
    Tu crées un classeur, tu mets une ou 2 données et tu le sauves sous le nom Toto, tu le fermes.
    Tu crées un autre classeur, tu mets une ou 2 données différentes et tu le sauves sous le nom Toto (dans un autre répertoire), tu le fermes.
    Maintenant tu peux ouvrir un des deux à loisir, mais Excel t’interdira d’ouvrir les deux simultanément alors qu’il n’y a aucun problème (technique) à avoir des fichiers .xls qui portent le même nom avec des contenus différents, Excel ne peut tolérer (dans la même instance) deux classeurs aux noms identiques.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub Crea()
    With Workbooks.Add(xlWBATWorksheet)  'l'objet renvoyé est un Workbook (sans "s")
       .Worksheets(1).Name = ("Totooo")
       .SaveAs Filename:="L:\" & .Sheets(1).Name & ".xls"
    End With
    End Sub
    Attention : la syntaxe

    est trompeuse, le (1) est un argument, qui étant une constante, spécifie le type de la feuille unique créée et non le nombre de feuille.. selon la syntaxe de la méthode employée :

    Cette méthode crée un nouveau classeur qui devient le classeur actif. Elle renvoie un objet Workbook.

    expression.Add(Template)
    expression Obligatoire. Expression qui renvoie un objet Workbooks.

    Template Argument de type Variant facultatif. Détermine la façon dont le nouveau classeur est créé. Si cet argument est une chaîne spécifiant le nom d'un fichier Microsoft Excel existant, le nouveau classeur est créé sur le modèle du fichier spécifié. Si cet argument est une constante, le nouveau classeur contient une seule feuille du type spécifié. Il peut s'agir de l'une des constantes XlWBATemplate suivantes : xlWBATChart, xlWBATExcel4IntlMacroSheet, xlWBATExcel4MacroSheet ou xlWBATWorksheet. Si vous n'avez pas spécifié cet argument, Microsoft Excel crée un nouveau classeur avec plusieurs feuilles blanches (le nombre est établi par la propriété SheetsInNewWorkbook).
    c'est pourquoi, il vaut mieux employer le nom de l'argument...

    cordialement,

    Didier

    cordialement,

    Didier

  10. #10
    Membre très actif Avatar de Nako_lito
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2008
    Messages
    793
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Consultant informatique

    Informations forums :
    Inscription : Mai 2008
    Messages : 793
    Par défaut
    Merci bcp !

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

Discussions similaires

  1. [AC-2010] Erreur création fichier Excel avec Workbooks.Add()
    Par Xorbane dans le forum VBA Access
    Réponses: 3
    Dernier message: 25/06/2012, 22h00
  2. Workbooks.Add => Format .xlsx
    Par Monkey_D.Luffy dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/07/2010, 11h35
  3. Erreur 1004 fonction Workbook.add
    Par jacques64 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 26/05/2008, 14h18
  4. Excel Fonction Workbook.Add
    Par jacques64 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/05/2008, 11h13

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