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 :

Numérotation auto de bon de commande [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Pas de Calais (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Par défaut Numérotation auto de bon de commande
    Bonsoir,

    j'ai besoin de votre aide, j'ai créé un modèle de bon de commande avec Excel 2013 et j'aimerai que le numéro de commande s'incrémente à chaque fois que j'ouvre mon modèle. ( le numéro se trouve en H9;I10 voir le fichier joint )
    J'aimerai également que lorsque j'ai terminé de remplir mon bon de commande, qu'il s'enregistre automatiquement dans un dossier avec comme nom de fichier le numéro de commande.
    Pour cela j'ai besoin d'une macro, mais jusque maintenant je n'ai réussi à rien

    Merci à toutes celles et ceux qui pourront éclairer ma lanterne !
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    Par défaut
    Salut

    Voila peut-être une piste http://support.microsoft.com/kb/469850/fr

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

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

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Par défaut
    bonjour Qwazerty,

    tout d'abord merci de ton aide, je viens de regarder l'article sur l’incrémentation de numéro, mais hélas celui-ci n'apporte pas plus de résultat à mes recherches.
    Pour ce qui est de faire une macro pour un nombre entier, ça je sais faire ( par ex : commande N° 190 une fois fermé mon modèle et que je le ré-ouvre, il passe à 191 c'est acquis )
    Mon problème ici est qu'il correspond à une série de nombre séparée par des slaches 2013/020/190 et pour réussir à passer à 2013/020/191 je ne sais pas faire... (voir la pièce jointe )
    De plus la cellule ou se trouve le numéro de commande est fusionnée, je ne trouve pas la bonne formule à mettre dans range.
    En tout cas merci de t'être penché sur le problème, c'est sympa de ta part, petit à petit, grâce à des vous, je finirai bien par trouver la bonne formules
    Cordialement,
    Ragnart

    Re- bonjour à tous,

    voici exactement ce que je cherche mais il faut maintenant l'appliquer à mon modèle (pièce jointe) quelqu'un peut m'aider ? je suis vraiment limité en macros

    sur cette macro le numéro de facture est 2013-101
    quel formule utilisr pour 2013/020/190 ? en sachant que ma cellule ou se trouve mon numéro est fusionnée

    merci de votre aide...

    voici le code de la macro à modifier en fonction de mon bon de commande:
    (pièce jointe)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    'Pour créer le nom qui contient
    'le numéro de facture utilise ceci :
     
    Sub Créer_Nom_départ()
    'Part le compteur où tu veux
    Names.Add "Compteur", "2013-100", False
    End Sub
     
     
    Sub Nouvelle_Facture()
    Dim x As Long, Arr()
    'à chaque facture toutes ces plages de
    'cellules sont effacées, tu peux en ajouter
    'ou en modifier l'étendue. Tu peux énumérer
    'autant de cellules ou de plages de cellules
    'que tu désires
    Arr = Array("A10:A20", "B20:C20", "C:C")
     
    Application.ScreenUpdating = False
    Application.EnableEvents = False
    Application.DisplayAlerts = False
     
    'Sauvegarde du fichier avec la valeur C5 comme nom
    'dans le répertoire où est ce fichier
    With ThisWorkbook
        .SaveAs .Path & "\" & Me.Range("C5"), FileFormat:=xlOpenXMLWorkbookMacroEnabled
    End With
    Application.DisplayAlerts = True
     
     
    With Me
        .Unprotect "MD"
        .EnableSelection = xlUnlockedCells
        .Cells.Locked = True
        For Each elt In Arr
            With .Range(elt)
                .ClearContents
                .Locked = False
            End With
        Next
        With .Range("C4")
            .NumberFormat = "DD MMMM YYYY"
            .Value = Date
            .Locked = True
        End With
        x = Split([Compteur], "/"/")(1) + 1
        With .Range("C5")
            .Value = Year(Date) & "-" & x
            .Locked = True
        End With
        Names.Add "Compteur", .Range("C5").Value, False
        .Protect "MD"
    End With
    Application.EnableEvents = True
    Application.ScreenUpdating = True
    End Sub

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 168
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 168
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    A quoi correspond ce numéro 2013/020/190.
    2013 représente je suppose l'année en cours et 190 le compteur et 020, est-ce le n° de la semaine ?
    Il ne faut pas confondre compteur et format du n° de commande
    Le compteur à conserver est 190 et c'est également lui qui doit être incrémenté le reste c'est du formatage.
    Donc il te suffit de prévoir une cellule dans une feuille nommée par exemple [Paramètre] où tu construis le format en concaténant le résultat des fonctions Texte et Date et celui de la fonction personnalisée qui incrémente le compteur.
    Par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =ANNEE(AUJOURDHUI()) & "/" & NO.SEMAINE(AUJOURDHUI();21) & "/" & Compteur
    Où compteur est le nom de la fonction qui incrémente le n° de commande.
    Une autre solution pour incrémenter un n° de commande ou facture sur cette contribution VBA / Fonction - Incrémentation de n°. Il y a un classeur téléchargeable qui illustre la fonction.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

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

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

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Par défaut
    Bonjour Philippe,

    alors le format de ce numéro 2013/020/190 correspond à ceci :

    2013 correspond à l'année (il change qu'une fois par an )
    020 correspond à un code de service, car la ou je travail nous sommes plusieurs services le mien est donc le 020 et il ne change jamais.
    190 correspond au nombre de bon de commande effectué au long d'une année, actuellement nous sommes à 201.

    voilà pour répondre à ta question.
    J'ai bien regardé l'exemple quer tu donne dans ton lien, mais hélas, pardonne mon incompétence, je ne comprends vraiment pas grand chose...

    Éventuellement, pourrais-tu me créer une macros avec le modèle de bon de commande joint ?
    je souhaite enregistrer mon bon de commande comme modèle prenant en charge les macros. et être le seul classeur qui s'incrémente (pas les commandes que j'enregistre) avec la date qui se mets à jour également.
    dans ce modèle je souhaiterai que le numéro s'incrémente à l'ouverture.
    Disposer d'un bouton par exemple "nouvelle commande" qui incrémente le numéro de commande en cliquant dessus, qu'il efface les cellules de A à I de 14 à 31, ainsi que I 36 à I 41 et la parti fusionné Nom de la société également, tout en s'enregistrant avec comme nom de fichier : le numéro de commande 2013/020/191 par exemple
    Je demande peut-être beaucoup...
    mon soucis est que je suis responsable d'un un service technique, que je n'ai pas beaucoup de temps à consacrer à l'ordinateur, cette macros me ferai gagner énormément de temps.
    Actuellement, je suis obliger de taper la date, le numéro de commande de l'enregistrer dans un dossier, d'ouvrir un autre classeur pour la gestion de mes numéros de commande, tout cela me prends un temps fou et je m'en sort pas.
    je fais de la maintenance en électricité, dans plusieurs bâtiments publics d’où
    mon désir d'obtenir cette macro voilà des semaines que je galère...
    Help !

  6. #6
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 117
    Par défaut
    Salut

    Dans le lien que je t'ai donné, modifie

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A2").Value = GetSetting(appname:="MyApp", section:="Startup",
    key:="Top", Default:="=5"") + 1
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Range("A2").Value = year(date) & "/020/" & GetSetting(appname:="MyApp", section:="Startup",
    key:="Top", Default:="=5"") + 1

    Par rapport au message de Philippe T., je me demande si une valeur stocké en paramètre avec la méthode proposé dans le lien, peut-être récupéré dans une formule sans passer par une macro.
    Là je vais me coucher, mais je regarderais demain

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

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

Discussions similaires

  1. Avis sur bon de commande
    Par frog43 dans le forum Mon site
    Réponses: 4
    Dernier message: 13/04/2007, 11h27
  2. Archivage et Impression de bons de commande
    Par jeep6259 dans le forum Excel
    Réponses: 1
    Dernier message: 10/04/2007, 18h59
  3. [AJAX] Bon de commande
    Par frog43 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 02/04/2007, 12h53
  4. double saisie du bon de commande
    Par guijomik dans le forum IHM
    Réponses: 11
    Dernier message: 06/03/2007, 14h55
  5. [VBA-E]Automatisation d'un bon de commande
    Par Lexot2 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 06/10/2006, 12h17

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