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 :

Collection, index et dates


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 crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Par défaut Collection, index et dates
    Bonjour,

    j'ai des collections d'objet. Je souhaite indexer cette collection à l'aide de trois paramètres de ces objets (NomTranche, DateDebut et Duree).

    donc lors de l'ajout, je fais la commande suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Demandes.Add NouvelleDemande, NouvelleDemande.NomTranche & Format(NouvelleDemande.DateDebut, "dd/mm/yyyy hh:nn") & Format(NouvelleDemande.DureeDemandee, "dd/mm/yyyy hh:nn")
    lorsque je souhaite retrouver un élément de cette collection à l'aide de son index, par exemple pour le supprimer, je fais donc

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Demandes.Remove NomTranche & Format(DateDebut, "dd/mm/yyyy hh:nn") & Format(DureeDemandee, "dd/mm/yyyy hh:nn")
    Il me dit que les arguments sont incorrects... me serais-je gourré au niveau du formatage des dates ou au niveau des arguments?

    Merci

  2. #2
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    Salut,

    Je ne connais pas le format d'heure hh:nn essaie avec hh:mm

  3. #3
    Membre confirmé Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Par défaut
    nn c'est pourles minutes, c'est ce que j'ai lu sur les tutos de ce site... parce que pour moi mm c'est le mois quoi

  4. #4
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    re,

    Peux -tu mettre un lien la dessus par ce que je suis curieux sur ce coup...

    Si j'ai bien compris NouvelleDemande est un type perso mais comment arrives-tu a l'ajouter a ta collection?

    Un peu plus de code permettrait de mieux comprendre je pense

  5. #5
    Membre confirmé Avatar de crashtib
    Homme Profil pro
    Support technico-fonctionnel
    Inscrit en
    Avril 2009
    Messages
    221
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Support technico-fonctionnel
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2009
    Messages : 221
    Par défaut
    Alors, les liens : ici, .

    EN tout cas après expérimentations il semblerai que hh:mm ou hh/mm ou même hhmm est interprété en tant que heure heure:minute minute alors que dd/mm est interprété en tant que jour jour/mois mois, ce qui est bizarre.

    d'autres part je confirme que dans tous les cas nn est interprété comme minute, à tous les coups.

    bref, sinon, voici le code d'ajout, par exemple

    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
    Public Sub AjouterCollectionDemandes(ByVal NouvelleDemande As Demande)
        Dim NomProcApp As String   'Stockage de la procédure appelante
     
        NomProcApp = NomProc
        NomProc = "AjouterCollectionDemandes"  'Gestion des erreurs (procédure en cours)
     
        If Demandes Is Nothing Then Set Demandes = New Collection
     
        'Les index sont constitués de : nom de la tranche, date du début de la demande, durée demandée de la demande. Ces identifiants rendent chaque demande unique
        Demandes.Add NouvelleDemande, NouvelleDemande.NomTranche & Format(NouvelleDemande.DateDebut, "dd/mm/yyyy hh:nn") & Format(NouvelleDemande.DureeDemandee, "dd/mm/yyyy hh:nn")
     
     
     
    Sortie:
    ' Remettre la procédure appelante
        NomProc = NomProcApp
        Exit Sub
     
    End Sub
    après, quand j'essaie d'accéder à cette Demande via son index, comme par exemple dans cette sub :

    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
    Public Sub SupprimerCollectionDemandes(ByVal NomTranche As String, ByVal DateDebut As Date, ByVal DureeDemandee As Date)
        Dim NomProcApp As String   'Stockage de la procédure appelante
        Dim lol  As String
     
        NomProcApp = NomProc
        NomProc = "SupprimerCollectionDemandes"  'Gestion des erreurs (procédure en cours)
     
        Demandes.Remove NomTranche & Format(DateDebut, "dd/mm/yyyy hh:nn") & Format(DureeDemandee, "dd/mm/yyyy hh:nn")
     
     
    Sortie:
    ' Remettre la procédure appelante
        NomProc = NomProcApp
        Exit Sub
     
    End Sub
    il me crache que les arguments ne sont pas valides... je pense qu'il gueule surtout au niveau du référencement de l'index... quid?

  6. #6
    Membre chevronné
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Par défaut
    re,

    Ben j'irai me coucher moins bete ce soir.
    Apres une petite lecture dans l'aide excel si m est precede de h m signifie minute sinon mois

    Pour ton probleme, je n'arrive pas a compiler ton code, il doit surement encore me manquer des trucs.
    A chaque fois il ne compile pas a cause de Demandes.Add NouvelleDemande, Nouv...

Discussions similaires

  1. [VB]Binding Collect : pb modification date
    Par MITCH31 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 26/02/2006, 12h32
  2. Index sur une colonne Date
    Par sjaeger dans le forum Oracle
    Réponses: 11
    Dernier message: 10/11/2005, 14h55
  3. Index sur des dates?
    Par nicovmd dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 30/06/2005, 14h20
  4. Filtre, Tri, Index, Date
    Par gibet_b dans le forum Bases de données
    Réponses: 2
    Dernier message: 12/07/2004, 16h30
  5. Tables paraodox ("Index out date") et controle sa
    Par belaid52 dans le forum Bases de données
    Réponses: 4
    Dernier message: 03/07/2004, 11h29

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