Dates reconnues aléatoirement en VBA

Fermé
Boby71C - 18 déc. 2007 à 04:20
 Boby71C - 18 déc. 2007 à 18:21
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

6 réponses

gdstechno Messages postés 29 Date d'inscription samedi 15 décembre 2007 Statut Membre Dernière intervention 11 janvier 2008 15
18 déc. 2007 à 07:17
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
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
xkristi Messages postés 4264 Date d'inscription lundi 18 décembre 2006 Statut Membre Dernière intervention 19 août 2022 564
18 déc. 2007 à 13:36
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
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
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
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