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 :

enregistrer ma feuille dans un répertoire et réinitialiser contenu


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Femme Profil pro
    informatique générale secteur commercial
    Inscrit en
    Décembre 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : informatique générale secteur commercial
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2013
    Messages : 61
    Points : 52
    Points
    52
    Par défaut enregistrer ma feuille dans un répertoire et réinitialiser contenu
    Bonjour,
    Je me retourne encore une fois vers vous vu que vous m'aidez bcp

    Donc mon nouveau problème est que je dois faire un Bon de Commande

    j'insert des données depuis ma bdd ou je les saisie , ensuite je voudrais donc:

    Une fois fais mon bon de commande , j'aurais un bouton "enregistrer"

    -Qui m'enregistre ma feuille dans un répertoire donné (sous excel ou pdf ou les 2 )

    -Et Qui réinitialise certain champs colorés en orange dans le fichier joint

    - Mais devrais garder le numéro de Bon De Commande qui s'incrémente a chaque nouvelle ouverture


    Merci pour votre travaille.
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Bonjour,

    Mets un bouton (non imprimable) sur la feuille avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
        Dim Dossier As String
        Dossier = "c:\temp"
        ThisWorkbook.SaveCopyAs Dossier & "\" & "bon de commande " & [Feuil1!F3] & "xls"
        With Sheets("Feuil1")
            .[C1:C6].ClearContents
            .[B11:F30].ClearContents
            .[F31:F35].ClearContents
            .[E37].ClearContents
        End With
    End Sub
    Change le nom du dossier selon tes besoins.

  3. #3
    Membre du Club
    Femme Profil pro
    informatique générale secteur commercial
    Inscrit en
    Décembre 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : informatique générale secteur commercial
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2013
    Messages : 61
    Points : 52
    Points
    52
    Par défaut
    Merci
    Voila mon Code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub EnregistrerCopie()
    Dim texte As String
    texte = Range("E2") & " - " & Range("E3") & " " & Range("F3") & ".xls" 
    chemin = "D:\travaille\"  'Le chemin ou je veux enregistrer
    Application.DisplayAlerts = False
    ActiveWorkbook.SaveCopyAs Filename:=chemin & texte
        With Sheets("Feuil1")
            .[C3:C6].ClearContents
            .[B11:F30].ClearContents
            .[F31:F35].ClearContents
            .[E37].ClearContents
        End With
    End Sub
    Juste un petit soucis , je ne veux pas que le numéro de Commande (auquel j'ai affecté une macro qui l'incrémente automatiquement ), une fois enregistré je ne veux pas qu'il s'incrémente

    Je voudrais aussi que le bouton disparaisse dans la copie

    J'essaie ce code, mais ça ne fonctionne pas


  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Bonjour,

    Selon le type de bouton, ça pourrait être

  5. #5
    Membre du Club
    Femme Profil pro
    informatique générale secteur commercial
    Inscrit en
    Décembre 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : informatique générale secteur commercial
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2013
    Messages : 61
    Points : 52
    Points
    52
    Par défaut
    Bon ça marche mais ça me supprime le bouton de la Feuille De Bon De Commande que je veux garder comme original

    Je veux supprimer se bouton dans la copie que j'enregistre .

  6. #6
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub CommandButton1_Click()
        Dim Dossier As String
        Dossier = "c:\temp"
        Workbooks.Add 1
        ThisWorkbook.Sheets("Feuil1").[A:F].Copy ActiveWorkbook.Sheets(1).[A1]
        ActiveWorkbook.SaveAs Dossier & "\" & "bon de commande " & [Feuil1!F3] & ".xls"
        ActiveWorkbook.Close False
        With ThisWorkbook.Sheets("Feuil1")
            .[C1:C6].ClearContents
            .[B11:F30].ClearContents
            .[F31:F35].ClearContents
            .[E37].ClearContents
        End With
    End Sub

  7. #7
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    Citation Envoyé par epsilonenadia Voir le message
    Bon ça marche mais ça me supprime le bouton de la Feuille De Bon De Commande que je veux garder comme original

    Je veux supprimer se bouton dans la copie que j'enregistre .
    Tu dois le mettre avant le SaveAs pendant que tu es dans la copie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets(1).Shapes.Delete

  8. #8
    Membre du Club
    Femme Profil pro
    informatique générale secteur commercial
    Inscrit en
    Décembre 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : informatique générale secteur commercial
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2013
    Messages : 61
    Points : 52
    Points
    52
    Par défaut
    Parmi =>>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveWorkbook.Sheets(1).Shapes.Delete
    ne marche pas , ça bloque et me le met en jaune

    Daniel.C =>> Merci beaucoup Le code Marche à merveille.

    Je n'ai Juste pas compris ce que veut dire la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Add 1
        ThisWorkbook.Sheets("Feuil1").[A:F].Copy ActiveWorkbook.Sheets(1).[A1]
    Que Représente [A:F]


    Encore Merci

  9. #9
    Expert éminent sénior
    Homme Profil pro
    aucune
    Inscrit en
    Septembre 2011
    Messages
    8 207
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Septembre 2011
    Messages : 8 207
    Points : 14 362
    Points
    14 362
    Par défaut
    Je n'ai Juste pas compris ce que veut dire la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Workbooks.Add 1
        ThisWorkbook.Sheets("Feuil1").[A:F].Copy ActiveWorkbook.Sheets(1).[A1]
    Bonjour,

    Je crée un classeur vierge. Je copie les colonnes A:F du bon de commande et je les colle dans ce classeur vierge.

  10. #10
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    ActiveWorkbook.Sheets(1).Shapes.Delete

    ne marche pas , ça bloque et me le met en jaune
    Donc, si tu procèdes comme le suggère Daniel.C, il ne devrait plus y avoir de bouton à détruire. Tu peux donc laisser tomber la ligne en question...

  11. #11
    Membre du Club
    Femme Profil pro
    informatique générale secteur commercial
    Inscrit en
    Décembre 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : informatique générale secteur commercial
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2013
    Messages : 61
    Points : 52
    Points
    52
    Par défaut
    Bonjour,

    Quand j'ai une seule feuille , ça marche
    Mais je voudrais adapter sa , à la feuil2 (nommée "Commande") de mon classeur , je mets donc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
       Dim Dossier As String
        Dossier = "C:\Documents and Settings\MesCommandes\"
        Workbooks.Add 1
        ThisWorkbook.Sheets("Commande").[A:F].Copy ActiveWorkbook.Sheets("Commande").[A1]
        ActiveWorkbook.SaveAs Dossier & "\" & "bon de commande " & [Commande!C2] & ".xls"
        ActiveWorkbook.Close False
        With ThisWorkbook.Sheets("Commande")
            .[B6:B9].ClearContents
            .[B11:F33].ClearContents
            .[F8].ClearContents
            .[F34:F38].ClearContents
     
        End With
    ça me bloque au niveau de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.Sheets("Commande").[A:F].Copy ActiveWorkbook.Sheets("Commande").[A1]
    J'ai essayé "Feuil2" à la place de "Commande" , ça ne marche toujours pas

  12. #12
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 617
    Points : 5 912
    Points
    5 912
    Par défaut
    ThisWorkbook.Sheets("Commande").[A:F].Copy ActiveWorkbook.Sheets("Commande").[A1]
    C'est normal puisque la feuille Commande n'existe pas encore...

    Essaie ainsi pour voir.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ThisWorkbook.Sheets("Commande").[A:F].Copy ActiveWorkbook.ActiveSheet.[A1]
    ActiveWorkbook.ActiveSheet.Name = "Commande"

  13. #13
    Membre du Club
    Femme Profil pro
    informatique générale secteur commercial
    Inscrit en
    Décembre 2013
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : informatique générale secteur commercial
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Décembre 2013
    Messages : 61
    Points : 52
    Points
    52
    Par défaut
    Merci , ça marche.

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

Discussions similaires

  1. Enregistrer une feuille dans un répertoire (et non le classeur entier)
    Par prog-amateur dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/11/2014, 14h03
  2. enregistrement des feuilles dans un nouveau fichier
    Par PAYASS59 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 11/03/2010, 16h44
  3. [XL-2003] Enregistrer un fichier dans le répertoire temporaire de windows
    Par peofofo dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/01/2010, 06h05
  4. Enregistrer un classeur dans un répertoire sans indiquer le chemin
    Par Maluje dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 12/08/2008, 18h15
  5. Enregistrer un fichier dans un répertoire tout juste créé
    Par MrBidon dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 26/03/2008, 17h54

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