Porbleme avec vb6.0 et excel

[Résolu]
Signaler
Messages postés
80
Date d'inscription
mardi 27 décembre 2005
Statut
Membre
Dernière intervention
11 mai 2007
-
Messages postés
2
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
19 juillet 2007
-
bonjour voila mon probleme je chercher un code permettant de tester si mon classeur excel et ouvert, si oui il affiche un message box sinon il ouvre mon ficher. Il faut juste me trouver ce que je doit mettre a la place de mes ????????

If ????????????????????????Then
    MsgBox "deja ouvert"
Else
 
  'Créer un nouveau classeur EXCEL initialisé à la ligne 1
   Appli.Workbooks.Open "[file://\\Kwartz-serv-ig\Commun\tsig2da\HerbinDelphine\Facture.xls \\Kwartz-serv-ig\Commun\tsig2da\HerbinDelphine\Facture.xls]" 
   
End If

merci

ps je traail en vb6.0 avec excel 2000-2003

13 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Re,
Bon j'ai pas trouve mais l'exemple devrais t'aider.

Dim Wb As Workbook
Dim Trouve As Boolean
For Each Wb In Application.Workbooks
   'pas sur d'ici peu etre manque t il "\"
   If Wb.Path & Wb.Name = TonNOm Then
       Trouve = True
       Exit For
   End If
Next
If Trouve Then MsgBox "Deja ouvert", ----
[code.aspx?ID=41455 By Renfield]

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Il me semble que ce sujet (ou un très similaire) à été traiter la semaine derniere dans le forum fouille un peu.
(je vais fouiller de mon coté aussi)

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
 Bonjour à tous,

Bonjour Julien,

on peux aussi gérer l'erreur 70 (fichier ouvert ....)
Const ForReading 1, ForWriting 2, ForAppending = 8Const TristateUseDefault -2, TristateTrue -1, TristateFalse = 0

Dim NomFichier, fso, f
NomFichier = "d:\nouv_barre.xls"
Set fso = CreateObject("Scripting.FileSystemObject")

On Error Resume Next   
Set f = fso.OpenTextFile(NomFichier, ForAppending, TristateFalse)

If Err.Number <> 0 Then
   Msgbox "Le fichier est déjà ouvert" &vbCrLf& _
           Err.Number &vbCrLf& Err.Source &vbCrLf& Err.Description : Err.Clear
   Else
   MsgBox "Le fichier n'est pas ouvert"
End If

jean-marc
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Ju, avec VB6  ;)

Utilise l'API   _lopen
Exemple ICI :
http://www.codyx.org/snippet_ouvrir-fichier-word-ou-excel-est-ouvert-copie_313.aspx

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Messages postés
1854
Date d'inscription
jeudi 23 mai 2002
Statut
Membre
Dernière intervention
24 juin 2018
26
Re,

Bonjour Mortalino,
Joli ton snippet en vb6/vba .... qui gèrent les erreurs.

A+.
jean-marc
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
Salut Jean-Marc,
Merci  ;)

J'avoue quand même qu'on m'a aidé pour Office 2000, ne l'ayant pas, je ne pouvais testé à ce niveau

@++

<hr width="100%" size="2" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
Messages postés
80
Date d'inscription
mardi 27 décembre 2005
Statut
Membre
Dernière intervention
11 mai 2007

ok merci tout le monde
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Tu dis que tu travailles en VB6 avec Excel...

J'aimerais avoir une précision
Est-ce que tu travailles sous VB6 (le vrai) et tu ouvres des documents Excel en utilisant des objets Excel, tel que
Dim xlApp as New Excel.Application  (ou CreateObject ...)

Si c'est le cas, tu peux ouvrir plusieurs fois le même document et aucune erreur n'apparaîtra sauf si tu cherches à le sauvegarder après modification, je pense. Chaque document s'ouvrira dans une nouvelle instance d'Excel.

Il faut donc que tu sois précis sur la façon dont tu procèdes et avec quoi tu programmes.
Si c'est dans Excel et que tu vas dans son IDE, alors c'est VBA et c'est bien différent...

MPi
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Alors on en est où ici???
Problème résolu ou pas?

@+: Ju£i?n
SI OUI Pensez:
Réponse acceptée
Messages postés
80
Date d'inscription
mardi 27 décembre 2005
Statut
Membre
Dernière intervention
11 mai 2007

oui je travailles sous VB6 (le vrai) et j ouvres des documents Excel en utilisant des objets Excel, tel que
Dim xlApp as New Excel.Application  (ou CreateObject ...)
et de vb6 j'enregistre des données dans excel

merci a tous,

----

<table class="nb4" id="ctl00_Main_UCContentForum_ctl00_DGMsg" style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; WIDTH: 100%; BORDER-COLLAPSE: collapse; BACKGROUND-COLOR: white; BORDER-RIGHT-WIDTH: 0px" cellspacing="0" cellpadding="3" rules="all" border="0">

----,

 

</td>

----

 



</td>
</tr>
</tbody>
</table>
Messages postés
80
Date d'inscription
mardi 27 décembre 2005
Statut
Membre
Dernière intervention
11 mai 2007

au fait et oui probleme resolu

j ai tout simplement mit un booleen quand j ouvre le fichier a vrai et sil est a vrai je reouvre rien sinon jouvre :)

et des que jenregistre le fichier, il repasse a faux

voila
Messages postés
3877
Date d'inscription
mardi 19 mars 2002
Statut
Membre
Dernière intervention
23 août 2018
19
Je ne sais pas dans quel but tu crées ce fichier. Si c'est pour ton usage et que tu sais ce qui se passe sur ton PC, ça peut aller. Si tu penses le distribuer et que l'utilisateur ouvre le fichier Excel avant de travailler sur ton application, là ça peut devenir problématique...

Il faudrait alors que tu laisses tomber ta variable booléenne et que tu vérifies les instances d'Excel et vérifier si le fichier est déjà ouvert dans une de ces instances...

MPi
Messages postés
2
Date d'inscription
mardi 17 juillet 2007
Statut
Membre
Dernière intervention
19 juillet 2007

j'ai de probleme,
mon projet est de connecter une base mysql avec VB 6.0
j'aimerais avour une bouton pour supprimer, ajouter, modifier une table et requete
j'espere que vous m'aider