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 :

excel enregistrement


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Points : 55
    Points
    55
    Par défaut excel enregistrement
    bonjour
    je suis totalement debutant sous VBA. mon probleme est le suivant j'ai une feuille excel je voudrais faire la chose suivante :
    - a l'ouverture je voudrais trier une colonne par odre croissante
    - a la fermeture d'excel je voudrai enregistrer automatique le fichier sans avoir la fenetre d'enregistrement.

    je crois que c'est quelque chose comme
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Close true
    mais je n'arrive pas a m'en servir , il faut le mettre ou ? dans ThisWorkbook ?

    merci de votre aide

  2. #2
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    pour la sauvegarde, dans ThisWorkBook.beforeClose :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    ActiveWorkbook.Close True
    End Sub

    pour le trie dans WorkBook_Open

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open()
     ThisWorkbook.Sheets(1).Range("A1").CurrentRegion.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
     End Sub
    à adapter selon Zone de tri ( ici premiére feuille, colonne adjçante à cellule A1) et colonne de tri ( ici A) ...

  3. #3
    Nouveau membre du Club
    Inscrit en
    Juin 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    Insert un module dans ton projet
    dans ce dernier il faut que tu créer 2 macros
    une auto_open(le nom de la macro est important) va s'executer a l'ouverture
    l'autre auto_close a la fermeture....
    bon courage

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Points : 55
    Points
    55
    Par défaut
    merci pour vos reponses
    par contre je n'arrive pas a adapter a mon cas , la colonne a trier est la G et les celulues vont de 7 à 38 .

    j'ai mis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open() 
     ThisWorkbook.Sheets(1).Range("G1").CurrentRegion.Sort Key1:=Range("G1"), Order1:=xlAscending, Header:=xlGuess, _ 
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 
    End Sub
    mais il y a des erreurs.

  5. #5
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    tu as essayer de remplacer les 2 G1 par G7 ?

  6. #6
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Salut,
    Ce que voulais dire bbil doit ressembler à cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open() 
     ThisWorkbook.Sheets(1).Range("G7:G38").CurrentRegion.Sort Key1:=Range("G7:G38"), Order1:=xlAscending, Header:=xlGuess, _ 
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 
    End Sub
    N'est-ce pas bbil ?

    Mais je me demandais tu ne dois trier qu'une seule colonne ou tu as plusieurs colonne et tu veux trier suivant la colonne G ? Car cela change un peux la programmation ...

    Bon courage pour la suite

    @peluche

    Théo
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Points : 55
    Points
    55
    Par défaut
    exact en fait je voudrais trier les colonnes C à G celulles 7 à 38 en fonction de la colonne G par ordre croissant .

  8. #8
    Expert éminent sénior


    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
    Points : 20 038
    Points
    20 038
    Par défaut
    Citation Envoyé par manworms2
    exact en fait je voudrais trier les colonnes C à G celulles 7 à 38 en fonction de la colonne G par ordre croissant .
    et alors tu en est ou ? si tu as remplacer les deux "A1" par Deux "G7" cela as
    fonctionné ? non ?

  9. #9
    Membre éclairé
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Points : 739
    Points
    739
    Par défaut
    Citation Envoyé par manworms2
    exact en fait je voudrais trier les colonnes C à G celulles 7 à 38 en fonction de la colonne G par ordre croissant .
    eh bien tu devrais pouvoir le faire comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Workbook_Open() 
     ThisWorkbook.Sheets(1).Range("C7:G38").CurrentRegion.Sort Key1:=Range("G7:G38"), Order1:=xlAscending, Header:=xlGuess, _ 
            OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 
    End Sub
    bon courage

    @peluche

    Théo

    PS: bbil tranquille il n'a peut être pas encore eu le temps de voir les réponses et si le code fonctionne correctement: laisse lui le temps : il reviendra c'est certain au moins pour remercier
    Forums VB : lire la notice
    La touche existe pour être utilisée
    Pensez au tag
    Pour ceux n'ayant pas l'aide installée :
    - Aide MSDN pour VB6
    - Aide MSDN pour VBA
    Je ne réponds pas aux questions techniques par MP. Merci d'utiliser le forum fait pour çà.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Points : 55
    Points
    55
    Par défaut
    j'ai eu un peu de mal a le faire fonctionner , un probleme au niveau de la premiere ligne qui n'ete pas prise en compte. mais le probleme a ete resolu en rajoutant une ligne a zero.

    merci beaucoup pour votre aide precieuse .

    je doit encore bucher sur le VB lol

    @++

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 13/09/2007, 15h25
  2. table vers excel "enregistrer sous" date.xls
    Par zougna dans le forum VBA Access
    Réponses: 1
    Dernier message: 13/07/2007, 09h50
  3. [VBA Excel] Enregistrement
    Par cedric59dk dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/03/2007, 16h05
  4. [VBA EXCEL] : Enregistrer sous
    Par forsay1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/07/2006, 14h52
  5. Réponses: 1
    Dernier message: 24/03/2006, 18h59

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