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 :

remise à zéro incrémentation numéro [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Par défaut remise à zéro incrémentation numéro
    Bonsoir,

    A partir d'un bouton de commande j'ai créé un code permettant d'augmenter en numérotation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     Dim num As Integer
        Range("F2").Select
        num = Range("F2").Value
        num = num + 1
        Range("F2").Value = num
    Le hic: serait il possible d'avoir un code permettant une remise à zéro de cette numérotation au changement de mois. (Le mois est indiqué sur la feuille dans la cellule c10.

    Merci pour votre aide.

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     If Range("C10")<>Format$(now,"mmmm") Then   Range("F2") = 0

  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Salut.

    Outre ta question que je n'ai pas très bien comprise (peut-être helas a-t-il vu juste), tu peux tout faire en une ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("F2").Value = range("F2").value + 1
    Il faudra insérer le IF (mais comme je n'ai pas compris, je ne sais pas t'aider pour cela)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Par défaut
    Bonjour à tout le monde,

    Pour répondre à Pierre, ton code est plus court et cela donne le même résultat. Pour t'expliquer la finalité du projet est que j'ai une référence 10 05 001 et qu'avec un code je puisse faire évoluer automatiquement cette référence. En D2=10=année; En E2=05=mois; En F2=001=numérotation auto. En autre avec ton code la num auto augmente chaque fois que je clique sur le bouton de commande. Niquel. Afin d'étoffer cette numérotation, est ce qu'il serait possible de faire une remise à zéro de cette num auto lorsque l'on change de mois. Le mois en cour est indiqué en cellule C10.

    Helas, j'ai essayé ton code mais cela ne marche pas sur ma cellule F2=num auto. Elle reste bloqué à 000.

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 125
    Billets dans le blog
    131
    Par défaut
    Je serais tenté de mettre du code sur l'évènement CHANGE de la feuille concernée (donc dans le module VBA de cette feuille)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Change(ByVal Target As Range)
      If Target.Address = "$C$10" Then Range("f2") = 0
    End Sub
    pour remettre F2 à 0

    Attention que 0 <> 000

    Mais je ne suis pas certain d'avoir compris ton besoin.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 55
    Par défaut
    Apparemment, tu as bien compris besoin car ta proposition correspond tout à fait à ce que je recherchais. Cela fonctionne. Par exemple nous somme en nov 2010 donc ma référence devis pour ce mois sera 10 11 suivi des num auto 001, 002, 003... Le mois prochain ma référence devis sera 10 12 suivi des num auto 001,002,003.....

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

Discussions similaires

  1. [AC-2003] Remise à zéro d'un champ auto-incrémenté
    Par Plume27 dans le forum Requêtes et SQL.
    Réponses: 15
    Dernier message: 01/11/2012, 19h35
  2. [AC-2007] Remise à zéro numéro automatique
    Par Petit Rasta dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 05/05/2010, 09h42
  3. Remise à zéro de NuméroAuto
    Par Fougère dans le forum Access
    Réponses: 6
    Dernier message: 12/07/2006, 12h38
  4. Timer : remise à zéro
    Par hammag dans le forum Langage
    Réponses: 3
    Dernier message: 20/04/2006, 17h31
  5. Remise à zéro du fichier d'alerte <SID>ALERT.LOG
    Par pablo13 dans le forum Administration
    Réponses: 2
    Dernier message: 05/10/2004, 17h19

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