Dates reconnues aléatoirement en VBA

Boby71C -  
 Boby71C -
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 sur la ligne en gras:

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 remonte au niveau de Set c, 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
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
Configuration: Windows XP
Firefox 2.0.0.8

6 réponses

  1. gdstechno Messages postés 29 Statut Membre 15
     
    Bonjour,
    Etes vous sur que les données d'entrée sont complétées correctement (bon format de date ou zone à blanc ?)
    Cdt
    GDS
    0
  2. Boby71C
     
    Bonjour
    Merci pour votre attention GDS
    Les données d'entrées sont bien complètes, elles fonctionnent parfaitement bien pour les autres projets et se qui est affolent, c'est que si je fait format, dates,manuellement en cours de déroulement du programme, sans rien changer, et en remontant de 2 lignes dans mon code VBA, en faisant F5, la macro continue comme si de rien n'était.

    Alors que lorsque j'importe un nouveau projet, j'effectue déjà cette manipulation par securité.
    Je ne comprends pas se qui peux se passer.

    @+
    Robert
    0
  3. xkristi Messages postés 4336 Date d'inscription   Statut Membre Dernière intervention   564
     
    Bonjour !

    est-ce que tu importes à partir d'une base externe à Excel ?????

    J'ai parfois le même message dans la macro de
    connexion, importation et mise à jour des tableaux croisés dynamiques des données d'une base informix sous Unix dans excel .
    en passant outre , tout est quand même bon !!!!!

    c'est sans certitude mais
    J'ai l'impression que c'est lié à la connexion (déjà ouverte ou pas ) sur le PC ou à une temporisation trop courte ...

    0
  4. Boby71C
     
    Bonjour
    A la base, j'importe l'ensemble de mes données d'un fichier externe (MS Project).
    Je ne pense pas que le problème vienne de la car sur la totalité des projets collectés, seulement celui-ci bug alors que les dates sont identiques aux autres.
    J'importe mes données sur une feuille de mon fichier Excel, ensuite je referme mon fichier MS Project et ensuite, je collecte mes données pour chaque projet, donc je n'ai plus de fichier externe d'ouvert

    Merci pour votre aide à tous deux.

    @+
    Robert
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. néné
     
    bjr

    essaie plutôt ceux ci

    Dim c As Variant
    Dim DebHar As Date
    Dim FinHar As Date

    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
    DebHar = CDate(DebHar)

    FinHar = c.Offset(0, -2).Value
    FinHar = CDate(FinHar)

    If c.Offset(0, 1).Value = "0 hr" Then
    DebHar = 0
    FinHar = 0
    End If
    Else
    DebHar = 0
    FinHar = 0
    End If
    0
  7. Boby71C
     
    Bonsoir

    J'ai testé le code de néné et il n'y a pas eu de bug.

    Avant de voir ton message, j'ai faits un autre essai qui avait l'air concluant. Donc je ne sais pas dire si le code est bon.

    Je m'explique:
    J'ai rajouté un module complémentaire au hasard. Il s'intitule:
    Analyze TimescaleData.dsrAnalyze TSData

    après cette modification et fermeture et réouverture d'Excel, mes macros ont bien tourné.
    Je viens de décocher la macro complémentaire et ça fonctionne également.
    Je vais faire l'essai demain au boulot en commençant par la modification du code indiquée par néné.

    Je vous tiendrai au courant.

    Merci à tous et excellente soirée.

    @+
    Robert
    0