annyong
Messages postés38Date d'inscriptionlundi 23 avril 2007StatutMembreDernière intervention25 février 2015
-
17 juin 2007 à 13:40
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 2009
-
18 juin 2007 à 07:12
Bonjour,
je rencontre des problèmes sur Excel, des phénomènes assez étranges :
j'ai un peu de code que lorsque j'exécute, tout se passe comme prévu. le même code réexécuté, ça produit un effet différent.
et j'arrive pas à comprendre pourquoi.
Voici le code en question :
'dim monfichier as string
'dim mon_fichier as excel.workbook
Set mon_classeur = ActiveWorkbook
monfichier = UserForm2.TextBox6.Text
Workbooks.Open (monfichier)
Set mon_fichier = ActiveWorkbook
voila, j'ai exécuté ce code pas à pas sans problème jusqu'à maintenant. puis j'ai modifié un truc, et je suis revenu au code que j'avais initiallement (cad ce qu'il y a ci-dessus) et je n'ai plus la meme chose lors de l'exécution : arrivé à : workbooks.open(monfichier), après il sort de la procédure, je ne comprends pas pour quelle raison. du coup je ne peux pas continuer à exécuter la suite du code :-(
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201822 17 juin 2007 à 15:16
Avec si peu, je dirais que tu dois t'assurer d'avoir le bon programme activé avant d'appeler cette ligne. La première fois, ça passe peut-être bien, mais quand tu reviens une deuxième fois, est-ce encore le bon Workbook ?
Set mon_classeur = ActiveWorkbook
Et est-ce que tu utilises quelque chose comme On Error Resume Next ?
cavo789
Messages postés168Date d'inscriptionvendredi 9 janvier 2004StatutMembreDernière intervention28 juillet 20091 18 juin 2007 à 07:12
Bonjour
Avec si peu de code, pas évident à t'aider mais une remarque toutefois : quelle est la différence entre mon_classeur et mon_fichier ?
Est-ce que UserForm2.TextBox6.Text contient effectivement un nom de fichier existant lors de ton second appel ? Il serait bon de vérifier l'existence du fichier...
Dernier conseil : pense à donner des noms logiques à tes variables et objets. UserForm2 ne veut rien dire; TextBox6 encore moins. Mon_Classeur et Mon_Fichier : à quoi sert le premier, à quoi sert le second. Si tu donnes des noms plus logique, cela serait plus facile à relire.
Set mon_classeur = ActiveWorkbook
monfichier = UserForm2.TextBox6.Text
Workbooks.Open (monfichier)
Set mon_fichier = ActiveWorkbook