Probleme xls + vb6

Résolu
cammakarima Messages postés 8 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 17 février 2009 - 17 févr. 2009 à 12:54
cammakarima Messages postés 8 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 17 février 2009 - 17 févr. 2009 à 17:23
karima
j'ai un problème sur l'enregistrement d'un fichier execl

voila le code:
Set xl = New Excel.Application
Set ws = xl.Workbooks.Open(App.Path & "\poubelle.xls")
xl.Visible = True
Do Until entR.EOF
With ws.Worksheets("rdv")    If IsNull(entR("code_rdv")) False Then .Cells(n, 1) entR("code_rdv")
   
    If IsNull(entR("code_per")) = False And entR("code_per") <> 0 Then
        If entf.State = 1 Then entf.Close
        entf.Open "select * from personnel where code_per=" & entR("code_per"), cn, adOpenStatic, adLockReadOnly
     .Cells(n, 2) = entR("code_per") & Chr(9) & entf("nom") & " " & entf("prenom")
     End If
End With
entR.MoveNext
If entR.RecordCount > 1 Then n = n + 1
Loop
ws.Save
ws = xl.Workbooks.Close
Set ws = Nothing

a partir de mon poste qui contient le fichier poubelle.xls
j'ai fais la sauvegarde sans probléme.
mais qu'on j'acces à cette  command d'une autre poste il ouvre le fichier mais il l'enregistre pas il affiche un message
pour confirmer ou annuler l'enregisstrement j'ai fais oui mais il enregistre rien

2 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
17 févr. 2009 à 13:16
Salut
Je n'y connais pas grand chose en VBA, mais j'ai des doutes :
Ta variable 'n' vaut 0 lors de la première lecture.
Cells(0, 2) risque fort de produire une erreur
Si tu ne vois pas d'erreur, c'est que tu as peut-être mis un "On Error Resume Next" quelque part ---> A supprimer et à ne jamais utiliser

Quand tu l'auras enlevé, tu verras peut-être d'autres erreurs qui t'aiguilleront sur la raison de ton problème.
Ce qui me parait bizarre, c'est cette ligne :
   ws.Save
Pour quoi ne pas utiliser ce même genre de syntaxe :
   ws = xl.Workbooks.Save

VB6 et VBA se ressemblent énormément.
Tu peux très bien créer une macro sous Excel (en VBA) et la copier dans VB6 : Tu n'auras plus qu'à modifier le nom de l'objet sur laquelle porte le programme.

Ton message de confirmation est-il un message de Excel ou de VB6 ?
Quel est sont texte exact + le texte du bandeau bleu en haut de la MsgBox ?

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
cammakarima Messages postés 8 Date d'inscription mardi 12 septembre 2006 Statut Membre Dernière intervention 17 février 2009
17 févr. 2009 à 17:23
karima

j'ai fait  ws = xl.Workbooks.Save
if s'affiche un messaged'erruer n°:438  l'application ne gere pas cettepropriété ou cette methode.
qui se que je fait pour que je puisse modifier le fichier xls  à partir de d'autre poste
0
Rejoignez-nous