Probleme xls + vb6

Résolu
Signaler
Messages postés
8
Date d'inscription
mardi 12 septembre 2006
Statut
Membre
Dernière intervention
17 février 2009
-
Messages postés
8
Date d'inscription
mardi 12 septembre 2006
Statut
Membre
Dernière intervention
17 février 2009
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
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)
Messages postés
8
Date d'inscription
mardi 12 septembre 2006
Statut
Membre
Dernière intervention
17 février 2009

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