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 :

Questions diverses sur macros [XL-2010]


Sujet :

Macros et VBA Excel

  1. #21
    Futur Membre du Club
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    Je m'en occupe demain depuis le bureau.
    Je mettrais des données fictives dans le fichier.

    Sinon, j'ai remis l'ancien code dans le fichier, et ai créé un bouton qui affiche toutes les données.

    Pour l'impression j'ai réglé le soucis de page active par ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Private Sub Workbook_BeforePrint(Cancel As Boolean)
    ActiveSheet.Select
    Masquer
     
    End Sub

  2. #22
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Bonjour,

    Essais avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub AfficheAll()
     
    Call Afficher Worksheets("Facture")
    Call Afficher Worksheets("Facture HC")
    End Sub
    Essais uniquement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Sub AfficheAll()
     
     
    Afficher Worksheets("Facture HC")
     
    End Sub
    Si cela fonctionne en utilisant uniquement facture HC cela veut dire que tu as un problème dans le nom de ta feuille.

  3. #23
    Futur Membre du Club
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    Un peu compliqué pour vous joindre le fichier, il y a beaucoup de donnée confidentielles.
    Si je supprime les onglets de données tarifaires, toutes les formules de calcul seront éronnées.
    Ca pose problème pour l'histoire de la macro qui efface les cellules vides ?

    Ensuite, concernant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub AfficheAll()
     
    Call Afficher Worksheets("Facture")
    Call Afficher Worksheets("Facture HC")
    End Sub
    Il faut le mettre dans Workbook_open ?

    Sinon, comme dit, en mettant un bouton "obligatoire", sur lequel pour lancer la macro d'affichage, c'est fonctionnel.

    Mon responsable vient de me demander d'enregistrer le fichier en format "modèle" de manière à rendre impossible la modification du fichier de base, et que par défaut il demande d'enregistrer sous un nouveau nom.

    Jusque là tout va bien, sauf que (oui je sais je suis embêtant ^^), lorsqu'on veut enregistrer, par défaut c'est le format :"Classeur Excel".
    J'aimerai que par défaut ce soit : "Classeur Excel prenant en charge les macros)

    J'ai donc trouvé ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    ActiveWorkbook.SaveAs FileFormat:=xlOpenXMLWorkbookMacroEnabled
     
    End Sub
    Ca semble marcher, sauf que ca me créé automatiquement une copie dans "mes documents".
    Du coup quand je veux enregistrer une autre facture, il me dit que le fichier existe déja, et on doit cliquer sur OUI pour remplacer, afin de le sauvegarder via la boite de dialogue habituel...

    Je ne sais pas si j'ai la poisse... mais ca me rends dingue

    Merci pour votre aide précieuse en tout cas !!

  4. #24
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Ca semble marcher, sauf que ca me créé automatiquement une copie dans "mes documents".
    Du coup quand je veux enregistrer une autre facture, il me dit que le fichier existe déja, et on doit cliquer sur OUI pour remplacer, afin de le sauvegarder via la boite de dialogue habituel...
    Tu veux donc enregistrer toutes tes factures sans devoir écraser la précédente à chaque fois?

    Si oui dans ce cas tu n'as cas indiqué un autre nom au moment de ta sauvegarde

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("LeNomDeTonClasseurDeBase" ).SaveAs Filename:="LeNomDeTonClasseurDeBase" & "LeNuméroDeLaFacture
    Je ne sais pas si mon code est bon mais je suis sûre que les experts de ce forum sauront l'améliorer.

  5. #25
    Futur Membre du Club
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par had4789 Voir le message
    Tu veux donc enregistrer toutes tes factures sans devoir écraser la précédente à chaque fois?
    Oui c'est ça.

    Le fichier est destiné aux équipes du terrain.
    Donc, la facture vide, est enregistrée en modèle prenant en charge les macros.
    De cette manière, a chaque modification, elle est enregistrée sous un autre nom pour archivage, sous format classeur cette fois-ci.

    Mais étonnement depuis que j'ai mis la macro "enregistrer en classeur macro", ca me fait un doublon dans mes documents, alors que je l'enregistre sur le serveur.
    Alors que sans la macro, ça ne le fait pas, mais il faut selectionner le type de fichier manuellement, et je veux l'éviter (les users, manquant de compétence info, ca va être le bordel ^^)

  6. #26
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    J'ai fais une petit modification dans ma précédente réponse.

    Je t'ai proposer un petit code qui te permet de choisir le nom de ton fichier.

    Si tu as une case " numéro de facture " c'est parfait.

    tu peux aussi essayer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("LeNomDeTonClasseurDeBase").Name = "LeNomDeTonClasseurDeBase" & "Lenumérodetafacture

  7. #27
    Futur Membre du Club
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    En fait le nom de la facture sera tapé automatiquement par le responsable sous la forme
    "nom du centre" "nom de famille" "date"

    exemple : AA DUPONT 31072014


    Mon problème, c'est d'automatiser le format du fichier en XLSM, par défaut.
    J'ai trouvé, ca je l'ai dit plus haut, sauf que ca me créé un doublon dans "mes docs"

  8. #28
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Pourquoi ne pas simple créer une copier de ton fichier de base, ainsi le nouveau classeur sera au bon format?
    Ensuite tu n'auras plus qu'à renommer cette copie via un formulaire ou une msgbox pour avoir les informations "nom du centre" "nom de famille" "date".

  9. #29
    Futur Membre du Club
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    Il y a certains centres ou il faut faire 100 factures... à la main.
    On prévoit un logiciel en 2015, mais d'ici là...
    Si je ne le créé pas en modèle, avec enregistrement en classeur, (comme c'est déja arrivé par le passé) beaucoup de boulettes se feront ; du style, j'oublie de supprimer des valeurs de l'ancienne facture... etc.

  10. #30
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2014
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2014
    Messages : 271
    Points : 335
    Points
    335
    Par défaut
    Tu peux essayer ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
     
    Sub t()
     
    ActiveWorkbook.SaveCopyAs "LeCheminVersTonFichier\LeNouveauNom.XLSM"
     
    End Sub
    Si je ne le créé pas en modèle, avec enregistrement en classeur, (comme c'est déja arrivé par le passé) beaucoup de boulettes se feront ; du style, j'oublie de supprimer des valeurs de l'ancienne facture... etc.
    Je ne vois pas où tu veux en venir. Peux tu reformuler ta demande.

    Pour moi tu as un fichier modèle de base.

    Tu le copies avec un nouveau nom que tu définies comme tu veux afin que le fichier de base ne soit pas modifier.

    Ensuite tu lances ta macro dans ton nouveau fichier et tu enregistres le tout.

    Je ne vois pas le problème que pose les "boulettes".

    Excel ne peut pas gérer les compétences de tes collègues.

  11. #31
    Futur Membre du Club
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    C'est sur qu'Excel ne peut pas gérer ça.

    L'intérêt du modèle, c'est que les modifications ne peuvent pas y etre enregistrées.
    Sauf que par défaut excel propose d'enregistrer sans macro, or dans le cas présent il le faut.

    Selon les compétences de chacun, est-ce plus facile de faire une macro qui permet d'enregistrer automatiquement en fichier excel prenant en charge les macros ou demander à des gens qui n'y comprennent rien de choisir dans la liste le bon format ?
    Là est tout le problème.

    Pour moi le plus simple est de faire une macro.

  12. #32
    Invité
    Invité(e)
    Par défaut Bonjour,
    l'avantage d'un modèle est qu'Excel te demande de l'enregistrer sous!
    si tu veux ,créer un nouveau fichier tu lui donne le modèle à utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    set NewClasseur =Workbooks.Add ("c:\test\TES.XLTM")
    NewClasseur .SaveAs Filename:="C:\Users\RDurupt\Documents\Classeur1.xlsm",   FileFormat:=xlOpenXMLWorkbookMacroEnabled, CreateBackup:=False

  13. #33
    Futur Membre du Club
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    J'arrive pas à savoir si je m'exprime mal pour expliquer mon soucis.

    J'ai créé le fichier de base avec macros, au format :"Classeur excel prenant en charge les macros". ca c'est MON fichier.
    Ce fichier, je l'ai enregistré sous le format : "Modèle Excel prenant en charge les macros".

    Quand on ouvre ce dernier, on le modifie, on cliques sur Enregistrer, par défaut ca ouvre la boite de dialogue "enregistrer sous" et propose le nom de fichier du modèle (qui sera modifié par l'utilisateur), mais au format ne prenant pas en charge les macros.
    J'aimerai éviter que les utilsateurs doivent choisir dans la liste le format "Classeur Excel avec prise en charge des macros", certains n'étant pas des lumières en info... et j'aimerai éviter de faire un powerpoint expliquant ce qu'il faut faire ^^
    Donc, je voudrais avoir simplement une macro qui dise :

    "quand tu cliques sur enregistrer, le format d'enregistrement par défaut est : "Classeur avec macro" et non classeur sans macro.

    J"avais donc trouvé ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_BeforeSave(ByVal SaveAs As Boolean, Cancel As Boolean)
    ActiveWorkbook.SaveAs FileFormat:=xlOpenXMLWorkbookMacroEnabled
     
    End Sub
    Sauf que pour une raison inconnue, il y a un backup qui se créé dans mes docs et ca je ne veux pas.

  14. #34
    Invité
    Invité(e)
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     sub test()
    Application.DefaultSaveFormat = xlOpenXMLWorkbookMacroEnabled
    end sub

  15. #35
    Futur Membre du Club
    Homme Profil pro
    Conseiller Finance
    Inscrit en
    Juillet 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Conseiller Finance
    Secteur : Services de proximité

    Informations forums :
    Inscription : Juillet 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    MERCI !!!!!!!

    T'es mon sauveur !

    Je savais qu'on n'était pas loin ;-)


    J'en profite pour "résoudre" le post et remercier tout le monde ayant participé !

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Questions diverses sur MySQL 5.0
    Par AsmCode dans le forum SQL Procédural
    Réponses: 14
    Dernier message: 25/01/2007, 16h35
  2. Questions diverses sur les packages
    Par Stief dans le forum Mise en forme
    Réponses: 1
    Dernier message: 15/10/2006, 11h35
  3. [RSS] Questions diverses sur les flux RSS (Google et phpBB)
    Par leserapheen dans le forum XML/XSL et SOAP
    Réponses: 1
    Dernier message: 06/10/2006, 14h35
  4. [DW8] Questions diverses sur le logicie
    Par syn_42 dans le forum Dreamweaver
    Réponses: 3
    Dernier message: 01/03/2006, 17h23
  5. Questions diverses sur TIBDataset et TDBGrid
    Par AlexB59 dans le forum Bases de données
    Réponses: 2
    Dernier message: 23/11/2005, 17h14

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