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 :

Dates reconnues aléatoirement sous Excel 2003 en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Dates reconnues aléatoirement sous Excel 2003 en VBA
    Bonjour à tous

    Je collecte des dates de début et de fin d'activités pour les retranscrire sous forme graphique dans Excel.

    A chaque importation de l'ensemble des données d'un nouveau projet, je formate mes colonnes de dates pour assurer la mise en forme.

    Plusieurs dizaines de projets passent et brutalement, un bug se déclare:

    Erreur 1004 définie par l'application ou par l'object.

    Si je vais sur les données du projet qui ne passe pas ,qui donne les dates et dès que je refais manuellement la même mise en forme et que je continue le déroulement du code VBA par F5, tout passe correctement.

    Voici une partie du code:

    'Récupérer les dates de début et fin des activités
    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
    Dim c As Variant
    
    Set c = Cells.Find(What:="20", After:=ActiveCell, LookIn:=xlValues, LookAt _
    :=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase _
    :=True)
    If Not c Is Nothing Then
    DebHar = c.Offset(0, -3).Value
    FinHar = c.Offset(0, -2).Value
    If c.Offset(0, 1).Value = "0 hr" Then
    DebHar = 0
    FinHar = 0
    End If
    Else
    DebHar = 0
    FinHar = 0
    End If
    Je ne peux joindre mon fichier qui fait 12 MO.

    Auriez vous déjà eu ce problême et avez vous trouvé une parade ?
    Me manquerait-il une macro complémentaire, mais laquelle ?

    Merci pour votre aide

    @+
    Robert

  2. #2
    Membre éprouvé
    Avatar de fred65200
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    901
    Détails du profil
    Informations personnelles :
    Âge : 57
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 901
    Points : 1 207
    Points
    1 207
    Par défaut
    bonjour
    peut être en convertissant en date
    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
    Dim c As Variant
    
    Set c = Cells.Find(What:="20", After:=ActiveCell, LookIn:=xlValues, LookAt _
    :=xlWhole, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase _
    :=True)
    If Not c Is Nothing Then
       DebHar = CDate(c.Offset(0, -3).Value)
       FinHar = CDate(c.Offset(0, -2).Value)
       If c.Offset(0, 1).Value = "0 hr" Then
          DebHar = 0
          FinHar = 0
       End If
    Else
       DebHar = 0
       FinHar = 0
    End If
    Cordialement

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 28
    Points : 16
    Points
    16
    Par défaut
    Bonjour fred65200 et le forum

    Merci pour votre réponse.
    Je vais procéder aux essais et vous tiens au courant.

    @+
    Robert

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Re dates
    Bonjour
    Désolé, ça ne fonctionne pas. Je ne sais vraiement pas quoi faire.

    Merci pour votre aide

    @+
    Robert

  5. #5
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    La meilleure solution que j'ai trouvée est de passer la colonne date en format nombre et de travailler sur le N° de série. Une fois le résultat obtenu, je remets la colonne date au format voulu. Pour un graphe, je tenterais le coup en passant d'abord la colonne au format Nombre, puis au format date voulu. Ainsi toutes tes dates auront le même format.
    A tout hasard

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Bonjour,
    Plusieurs dizaines de projets passent et brutalement, un bug se déclare:
    Tu arrive probablement à saturations de la mémoire ?
    Ce qui s'expliquerait quand tu passe en manuel, de la mémoire est liberée
    Essai:
    Quand un projet est créer, le sauver et fermer.
    A+

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Bonne idée, très cher LeForestier, j'ajouterais : Mets "Option Explicit" en tête de module. Il est fort possible que certaines variables ne soient pas déclarées... si elles étaient toutes déclarées le message d'erreur serait, il semble m'en souvenir, "Pile saturée" ou quelque chose comme ça...
    A placer avant toutes tes macros

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    28
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2003
    Messages : 28
    Points : 16
    Points
    16
    Par défaut Dates
    Bonjour

    Je suis bien en option explicite .

    J'ai pensé au problème mémoire, mais je ne sais pas comment faire autrement pour importer mes données car mes projets sont tous les uns derrière les autres et je ne peux pas fermer mon fichier tant que je ne suis pas au bout de l'importation des données.
    S'il existait une solution pour vider la mémoire à chaque changement de N° de projet, je suis preneur.
    Le code est beaucoup trop long pour que je puisse le joindre.

    Je vais essayer de faire un fichier très réduit pour le joindre, mais ça n'est pas promis.

    Merci à tous

    @+
    Robert

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/02/2018, 14h51
  2. [XL-2003] Problème de VBA sous excel 2003 pour excel 97.
    Par blacksun1 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 24/06/2010, 11h44
  3. déprotection sous excel 2003
    Par bon-pa dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 28/09/2006, 14h22
  4. VBA-protection classeur et feuille sous Excel 2003 et 97
    Par derf3183 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 28/07/2006, 14h04

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