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 :

Extraction du mois d'une Date [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 22
    Par défaut Extraction du mois d'une Date
    Bonjour à tous!

    Je débute en programmation VBA et je bloque sur un probleme qui à priori ne devrait pas être trop compliqué...
    Je souhaite entrer un mois de l'année (entre 01 et 12) et ensuite recopier des lignes d'une feuille (DCD) à une autre (BUF) si le mois de la date de la ligne en question (qui se trouve en premiere case) correspond au mois entré.
    J#ai essayé pas mal de chose (Format, Month, ...) que j'ai trouvé sur le net, mais rien y fait, je n'arrive pas à lire uniquement le mois de ma date...

    Voici 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
    14
    Dim Whichmonth As String
    Dim VraieLigneBUF As Double
     
    Whichmonth = InputBox("Enter Month" & vbCrLf & vbCrLf, "forum Access")
     
    VraieLigneDCD = 3
    VraieLigneBUF = 3
    While Not (IsEmpty(wsDCD.Cells(VraieLigneDCD, 1)))
       If Month(wsDCD.Cells(VraieLigneDCD, 1)) = Whichmonth Then
            wsBUF.Range("A" & VraieLigneBUF & ":" & "P" & VraieLigneBUF).Value = wsDCD.Range("A" & VraieLigneDCD & ":" & "P" & VraieLigneDCD).Value
            VraieLigneBUF = VraieLigneBUF + 1
        End If
    VraieLigneDCD = VraieLigneDCD + 1
    Wend

    Merci d'avance à tous ceux qui prendront le temps de me répondre!

    Eric

  2. #2
    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
    Par défaut
    Month(tadate)
    a noter qu'il te renvoit un entier de 1 à 12.

    Donc si tu veux tester avec 01 il va falloir faire du retraitement..


  3. #3
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 22
    Par défaut
    Salut,

    Merci pour ta réponse, quelle rapidité!
    Mais le probleme ne vient pas de là car même si je rentre "1", cela ne fonctionne pas.
    De plus, j'ai essayé d'afficher (pour tester) avant de rentrer dans la boucle le résultat de la fonction Month(ma cellule...) et jài un message d'erreur.
    Avec la fonction Format(ma celulle, "mm"), il ne m'affiche pas le mois, mais la date entière...

  4. #4
    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
    Par défaut
    Tu compares des chiens à des chats, prends l'habitude de vérifier les formats des variables que tu utilises

    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 Whichmonth As String
    Dim VraieLigneBUF As Double
     
    Whichmonth = InputBox("Enter Month" & vbCrLf & vbCrLf, "forum Access")
     
    VraieLigneDCD = 3
    VraieLigneBUF = 3
    While Not (IsEmpty(wsDCD.Cells(VraieLigneDCD, 1)))
       If Month(cdate(wsDCD.Cells(VraieLigneDCD, 1))) = cint(Whichmonth) Then
            wsBUF.Range("A" & VraieLigneBUF & ":" & "P" & VraieLigneBUF).Value = wsDCD.Range("A" & VraieLigneDCD & ":" & "P" & VraieLigneDCD).Value
            VraieLigneBUF = VraieLigneBUF + 1
        End If
    VraieLigneDCD = VraieLigneDCD + 1
    Wend

  5. #5
    Membre averti
    Inscrit en
    Juillet 2013
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 22
    Par défaut
    J'avais également pensé au format en ajoutant cdate devant ma cellule...
    Mais ca ne fonctionne toujours pas.
    Toujours la même erreur : "Run-time error '13' Type mismatch"

    (PS: j'ai qd meme pris le temps de rentrer tes corrections et d'essayer avant de te répondre)

  6. #6
    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
    Par défaut
    Bon... Chez moi ça marche.. File ton classeur

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

Discussions similaires

  1. [Toutes versions] extraction du mois d'une date
    Par illight dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/10/2013, 10h46
  2. [XL-2003] Extraction et recopie du jour/mois d'une date jour/mois/année
    Par iIncoming dans le forum Excel
    Réponses: 2
    Dernier message: 02/07/2013, 17h54
  3. Extraction du mois dans une date
    Par Kallamou dans le forum Access
    Réponses: 4
    Dernier message: 02/02/2007, 22h13
  4. [IB6] tester le mois d'une date
    Par qi130 dans le forum SQL
    Réponses: 2
    Dernier message: 19/07/2005, 15h00
  5. [Requête] Modifier l'année et le mois d'une date
    Par brazza dans le forum Requêtes
    Réponses: 3
    Dernier message: 10/01/2005, 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