re: plantage dans une boucle

  • Initiateur de la discussion julien
  • Date de début
J

julien

Guest
rebonjour tout le monde , je vais essayer d'être plus clair sur mon problème: en fait le but de ma fonction est de vérifier que les pages qui doivent l'être sont bien cachées et de les cacher si elles ne le sont pas.

voila le code:
Private Sub UserForm_Activate()
Dim req As String
Dim dat As Variant
Dim dbdates As Recordset

Call maz

Dim chemin As String
chemin = 'K:\\Process\\Perf_environnement\\Personnel\\julien\\CONDENSEUR\\Essais_condens.mdb'
Set db = OpenDatabase(chemin)
req = 'select [date_essai] from CONDENS_TR1 '
Set dbdates = db.OpenRecordset(req)
While Not dbdates.EOF
dat = dbdates(0)
dat = Replace(dat, '/', '_')
If Sheets('Diffusion ' & dat).Visible = True Then
Sheets('Diffusion ' & dat).Visible = False
End If
dbdates.MoveNext
Wend
Call init

End Sub

Seulement le problème c'est qu' il me sort une erreur d'execution 'l'indice n'appartient pas à la séléction' au moment du if quand il arrive à la feuil10 (diffusion 05_05_2003).
J'ai vérifié il ne manque pas d'espace ni rien et si je place diffusion 05_05_2003 à la feuil7 par exemple l'erreur n'a lieu qu'à la date suivante.
Je ne sais pas quoi faire pour règler le problème aidez moi SVP

PS: le fichier est trop gros je ne peut pas l'envoyer.
 

Staple1600

XLDnaute Barbatruc
Bonjour

chemin = 'K:processPerf_environnementPersonneljulienCONDENSEUREssais_condens.mdb'

Il ne manque pas '\\' l'antislah
ce qui donnerait

chemin = 'K:'\\'ProcessPerf_environnementPersonneljulienCONDENSEUREssais_condens.mdb'


C'est ce qui m'a sauté au yeux à la première lecture


Mais je ne sais si ton problème vient de là
Mauvaise piste

Apparemment il doit etre
Comment fait t'on pour saisir un antislah dans les post?
Message édité par: staple1600, à: 25/08/2005 10:04

Message édité par: staple1600, à: 25/08/2005 10:06
 
B

bebere

Guest
bonjour
ds la ligne çi-dessous il y a un espace après diffusion
If Sheets('Diffusion ' & dat).Visible = True Then
Sheets('Diffusion ' & dat).Visible = False
essaye 'Diffusion' ou 'Diffusion_'ou alors
Sheets(''Diffusion ' & dat & ''')
c'est à dire encadrer 'le mot' pour que le programme
prenne ta chaîne pour un mot
à+
 

Discussions similaires

Statistiques des forums

Discussions
312 756
Messages
2 091 762
Membres
105 063
dernier inscrit
jazzinou