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 :

problème recuperation date [XL-2003]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Par défaut problème recuperation date
    Bonjour,

    je realise une macro en vba , et pour une instruction je voudrais que mon indice "i" vérifie une valeur date sous format : 01/02/2009; je voudrais que mon indice verifie uniquement la partie "/02/2009" (le mois et l'année,le jour importe peu).l'instruction est du type:if cells (i,2) = .../02/2009quel est la syntaxe pour qu'il zappe le jour ? j'ai essayé ",' #, mais c'est pas ça .

    merci d'avance

  2. #2
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    Il y a un moyen plus corect mais en utilisant split ça devrait le faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Dim tableau
     
    Tableau=split(tadate,/)
    if cells(i,2).value= "/" & Tableau(1) & "/" & Tableau(2) then 
    ...
    end if

  3. #3
    Membre expérimenté
    Inscrit en
    Août 2009
    Messages
    284
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Août 2009
    Messages : 284
    Par défaut
    J'ai retrouvé la technique pour extraire le mois, le jour ou l'année d'une date:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test()
    Dim D As Date
    D = CDate(Cells(4, 2).Value)
    If Month(CDate(Cells(4, 3).Value)) = Month(D) And Year(CDate(Cells(4, 3).Value)) = Year(D) Then
    Cells(5, 3).Value = Day(D)
    End If
    End Sub

  4. #4
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Par défaut regroupement de dates et cumul de valeurs
    Bonjour,
    je cherche à réaliser une macro qui parcours une colonne d'un tcd contenant des dates sous format "11/02/2009" ; puis à chaque fois que l'indice "i" tombe sur une date correspondant au mois de janvier 2007 par exemple, elle récupère la valeur de la colonne d'à côté et elle la cumule à la prochaine valeur de janvier 2007.Quand je lance la macro , message d'erreur type " dépassement de capacité", ou bien "incompatibilité de type" et le débogueur souligne la ligne du "if ...month(cdate....)".
    Quelqu'un peut-il rectifier ma macro ou proposer une autre solution??



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub kk()
    Dim z As Byte, c As Long
    c = 0
     
    For i = 5 To 100
    If Month(CDate(Cells(i, 1))) = 1 And Year(CDate(Cells(i, 1))) = 2007 Then
    z = Cells(i, 2) + c
    c = z
    End If
    Next i
    Cells(5, 4) = z
    End Sub 
    MERCI

  5. #5
    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
    Un exemple avec double boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Dim i As Integer, j As Integer
    Dim LastLig As Long, cumul As Double
     
    LastLig = Range("A65536").End(xlUp).Row
    For j = 1 To 12
        Range("D" & j + 1).Value = MonthName(j)       'Tableau cumul de D2 à E13
        cumul = 0                                   'Mois dans colonne A et effectis dans colonne B
        For i = 4 To LastLig                        'Données commence de la ligne 4
        If Month(Range("A" & i)) = j Then cumul = cumul + Range("B" & i)
        Next i
        Range("E" & j + 1).Value = cumul
    Next j

  6. #6
    Membre très actif
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 169
    Par défaut
    c bon je l'ai . excuse

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

Discussions similaires

  1. problème de date
    Par baboune dans le forum PostgreSQL
    Réponses: 8
    Dernier message: 10/06/2004, 10h52
  2. recuperer date dans un batch et la placer en variable
    Par Phenomenium dans le forum Windows
    Réponses: 6
    Dernier message: 07/06/2004, 10h44
  3. Problème de date dans MONTHS_BETWEEN
    Par ghostlord79 dans le forum Oracle
    Réponses: 10
    Dernier message: 07/04/2004, 11h21
  4. Problème conversion date
    Par mat.M dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 30/03/2004, 15h05
  5. Encore un probléme de date avec TADO !
    Par bNoureddine dans le forum Bases de données
    Réponses: 2
    Dernier message: 22/02/2004, 18h22

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