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 :

Besoin de votre aide : bouton de commande [XL-2013]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Points : 87
    Points
    87
    Par défaut Besoin de votre aide : bouton de commande
    'ai besoin de votre aide.
    j'aimerai créer un bouton de commande (reset) sur un modèle de bon de commande déjà créé.
    J'aimerai que lorsque j'appuie sur ce bouton il se passe les choses suivantes :

    qu'il enregistre le travail actuel avec comme nom de fichier le numéro de commande sous la forme ..../.../... (2013/020/190 par exemple)
    dans le même dossier que le modèle de bon de commande (2013 correspond à l'année, 020 un code de service et 190 represente le nombre de commande déjà effectué)
    qu'il incrémente le dernier chiffre ici ce serait le 190
    Qu'il efface le contenu des cellules sauf celles qui auront été protégées par mot de passe.
    afin de mieux comprendre, je vous envois la maquette du bon de commande

    En gris ce qui doit être supprimé par le clic sur le bouton
    en vert ce qui ne doit pas être effacé et protégé par un mot de passe
    Le bouton se trouve à côté de la date

    Je sais que je demande peut-être beaucoup, mais mes capacités dans le domaine de la macros sont très limitées.

    Je suis agent de maitrise en maintenance électrique dans les bâtiments publics
    je n'ai que très peu de temps à consacrer à la gestion et la réalisation des commandes, ce petit bouton me permettrait de gagner un temps considérable et précieux !
    J'en appel à votre aide et votre générosité, si quelqu'un veut bien se pencher sur mon problème...
    En vous remerciant par avance. :bien:
    Cordialement,
    Ragnart
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Question1: Est ce que tu écris ici un cahier de charges ou bien une question précise sur un point précis?

    Question2: Essaies d'enregistrer manuellement un fichier sous le nom 2013/020/190.xls
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  3. #3
    Membre régulier Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Points : 87
    Points
    87
    Par défaut
    Bonjour Mercatog,

    Je ne peux pas enregistrer avec les slaches, la commande n'est pas valide pour l'enregistrement le remplacement des slaches peut se faire par des tirets je joint le fichier .
    cc'est une question précise sur un point précis, juste besoin que quelqu'un écrive la macro que je puisse utiliser le bouton car toutes mes tentatives sont restées vaines
    Fichiers attachés Fichiers attachés

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut



    Discussion en doublon de Numérotation auto de bon de commande
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Points : 2 553
    Points
    2 553
    Par défaut
    Alors tout d'abord, il est impossible de mettre des "/" dans des noms de fichiers... donc j'ai décidé arbitrairement de changer dans tes numéros de commande les / par des +

    Change dans ta case H9 ton numéro de commande mets y des + à la place des /

    Puis affecte cette macro à ton bouton...


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Sub Bouton1_Cliquer()
        ThisWorkbook.SaveCopyAs (ThisWorkbook.Path & "/" & Range("H9") & ".xlsm") 'Sauvegarde ton fichier
        'nettoie tes cases
        Range("A4:D10").ClearContents
        Range("A14:H31").ClearContents
        'incremente ton numéro
        x = Split(Range("H9"), "+")
        Range("H9") = x(0) & "+" & x(1) & "+" & CDbl(x(2)) + 1
        MsgBox ("Sauvegardé et incrémenté")
    End Sub

  6. #6
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Citation Envoyé par Ragnart Voir le message
    Bonjour Mercatog,

    c'est une question précise sur un point précis, juste besoin que quelqu'un écrive la macro que je puisse utiliser le bouton car toutes mes tentatives sont restées vaines
    Tu ne demandes donc pas l'aide mais la sous-traitance. J'ai le code en 12 lignes mais je peux donner des pistes:

    Pour sauvegarder une copie du fichier tu peux utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ThisWorkbook.SaveCopyAs NomNouveauFichier
    Pour effacer une plage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range(LaPlage).ClearContents
    Pour extraire le n° utilise Mid(LeText,Pos)Pour trouver la position Pos, utilises InstrRevCe sont les mots clefs pour la recette
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  7. #7
    Membre régulier Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Points : 87
    Points
    87
    Par défaut
    Bonjour Engueengue,

    c'est exactement ce que je voulais ! ça fonctionne à merveille
    je vais pouvoir laisser mon modèle ouvert toute la journée au travail et être plus disponible pour mes dépannages.
    je ne sais comment te remercier ! C'est vraiment super gentil
    Si je peux faire quelque chose pour te remercier, demande le moi je me ferai la joie de te rendre service !

    Merci encore !
    Cordialement,
    Ragnart

  8. #8
    Membre régulier Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Points : 87
    Points
    87
    Par défaut
    Re Mercatog,

    Merci pour ton aide Oui...Je reconnais que j'abuse en demandant que l'on me donne la macro...

    Le problème est que je suis dans un service technique, que je me vois propulser à faire la gestion par ordinateur à la place d'un administratif, en plus de mon travail de maintenance, Voilà des semaine que je galère à trouver par moi même le moyen d'enregistrer automatiquement je n'ai que très peu de temps libre, trop peu de connaissance en VBA même si je maitrise parfaitement un ordinateur et les programmes offices, je connais également le langage CSS et html puisse que je dispose d'un site internet depuis 2009 .

    Je reconnais que ce n'est pas très glorieux de demander le travail de la macro à ma place, maintenant, tu ne veux que me donner des pistes , je te respecte, je vais continuer à prendre des cours VBA, et je vais continuer à venir sur ce forum
    cordialement,
    Ragnart

  9. #9
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Des pistes pour pouvoir maintenir ton code ou le faire évoluer.

    Donc voilà ma proposition (que je cachais) essayée sur ton fichier tel que présenté! le numéro est sous la forme 2013/020/091.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub RESET()
    Dim NumCom As String
    Dim Num As Integer
     
    With Feuil1
        NumCom = .Range("H9")
        ThisWorkbook.SaveCopyAs ThisWorkbook.Path & "\" & Replace(NumCom, "/", "-") & ".xlsx"
        .Range("A4").MergeArea.ClearContents
        .Range("A14:H31").ClearContents
        Num = Mid(NumCom, InStrRev(NumCom, "/") + 1)
        .Range("H9") = Left(NumCom, InStrRev(NumCom, "/")) & Format(Num + 1, "000")
    End With
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  10. #10
    Membre régulier Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Points : 87
    Points
    87
    Par défaut
    re bonjour mercatog,

    je viens de mettre ta macro et j'ai un message qui s'affiche lorsque je clic sur reset :

    "impossible d’exécuter la macro il est possible quel ne soit pas disponible dans ce classeur ou que toutes les macros soit désactivées."

    j'ai enregistrer comme nom de fichier :

    "Modèle commande" avec l'extension :
    "modèle Excel prenant en charge les macros"
    Cordialement

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

Discussions similaires

  1. Besoin de votre aide
    Par BiM dans le forum Contribuez
    Réponses: 33
    Dernier message: 24/03/2008, 17h51
  2. besoin de votre aide
    Par ricomix dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 04/06/2006, 22h46
  3. J'ai besoin de votre aide pour une requête
    Par ovdz dans le forum Langage SQL
    Réponses: 6
    Dernier message: 20/05/2005, 11h42

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