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 :

Mauvaise gestion du changement de mois [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Invité
    Invité(e)
    Par défaut Mauvaise gestion du changement de mois
    Bonjour,

    J'ai fait une macro afin d'afficher en automatique une série incrémentée lorsqu'une colonne précédente est saisie.
    Mais je viens de rencontrer le problème suite au changement de mois qui est intervenu.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    If Not Intersect(Target, Range("A2:A65535")) Is Nothing Then
    Cells(Target.Row, 3).Value = Date
    Cells(Target.Row, 4).Value = "CO " & Format(Date, "yymm ") & Format(IIf(Range("D" & Target.Row - 1).Value Like "CO " & Format(Date, "yymm") & "*", CLng(Replace(Range("D" & Target.Row - 1).Value, "CO " & Format(Date, "yymm"), "")) + 1, 1), "000")
     
    End If
     
    End Sub
    La macro récupère bien la valeur finale du dessus pour l'incrémentée mais elle ne fonctionne pas suite au changement de mois.

    Est-il possible que la macro se calque sur la date plutôt que sur la ligne du dessus pour le mois ? Et tant qu'à faire, est-il possible qu'au changement de mois, le compteur final se réinitialise à 1 ?

    Cordialement,

    Adidu44

  2. #2
    Expert éminent 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
    Par défaut
    Bonsoir
    A part le Clng, je ne vois pas où est le prblème. Le compteur s'incrémente et redevient CO xxyy 001 à chaque changement du mois.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim i As Long, S As Long
    Dim Code As String
     
    If Target.Column = 1 And Target.Row > 1 Then
        i = Target.Row
        Code = "CO " & Format(Date, "yymm")
        S = IIf(Range("D" & i - 1) Like Code & "*", Val(Mid(Range("D" & i - 1), 8)) + 1, 1)
        Range("C" & i & ":D" & i) = Array(Date, Code & Format(S, "000"))
    End If
    End Sub

  3. #3
    Invité
    Invité(e)
    Par défaut
    Merci beaucoup, cela marche parfaitement.

    Cordialement,

    Adidu44

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 19/09/2006, 12h26
  2. Gestion des changement de JPanel dans une applet
    Par le Daoud dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 26/06/2006, 14h32
  3. Gestion des changements de schema
    Par rozwel dans le forum Oracle
    Réponses: 1
    Dernier message: 08/05/2006, 17h57
  4. firefox - mauvaise gestion des passwords
    Par photorelief dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 10/06/2005, 09h02
  5. mauvaise conception et changement de clé primaire
    Par delphim dans le forum Schéma
    Réponses: 4
    Dernier message: 21/05/2004, 11h39

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