Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2982 connectés 

  FORUM HardWare.fr
  Programmation

  Question tte bete sous Vb Excel mais j'y arrive pas

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Question tte bete sous Vb Excel mais j'y arrive pas

n°50560
jujugoldma​n
Posté le 02-08-2001 à 10:00:23  profilanswer
 

comment faite pour programmer une fct qui dit
 
Si le classeur excel   popol.xls  est ouvert alors tu fais ca sinon ...
 
j ecris ca  mais la syntaxe n est pas bonne  
 
  if (ThisWorkbook.Path + "\" + popol.xls).open = true Then bla bla
 
 
qq un peu m aider ???
 
Merci

mood
Publicité
Posté le 02-08-2001 à 10:00:23  profilanswer
 

n°50583
jujugoldma​n
Posté le 02-08-2001 à 10:44:25  profilanswer
 

:fou:  :fou: Y a pas qqun qui sait ca???????
SVPL

n°50631
tfj57
Posté le 02-08-2001 à 13:38:46  profilanswer
 

Voici qqc qui fonctionne :
 
If ThisWorkbook.Name = "Classeur1" Then
    ' c'est le bon fichier ...
Else
    ' ce n'est pas le bon fichier ...
End If
 
Salutations

n°50723
jujugoldma​n
Posté le 02-08-2001 à 17:09:40  profilanswer
 

merci  beaucoup  je te dirais demain si ca marche  
ca me sauve la vie  
 
a demain :hello:

n°50780
jujugoldma​n
Posté le 03-08-2001 à 08:55:15  profilanswer
 

en fait ca marche pas  mais ca semble correct
je vous montre le prog
 
Sub exemple()  
 
 Dim act As Object
 Dim file As String    
 
 file = ThisWorkbook.Sheets("files" ).[FileAddressData]
 Set act = ThisWorkbook.Sheets("actual" )
   
  If ThisWorkbook.name = "C:/windows/Bureau/addressdata.xls" Then
 
  Workbooks(file).ActiveSheet.Range("T1" ) = ThisWorkbook.name
 
  Else
 
  Workbooks.Open (ThisWorkbook.Path + "\" + file)
  Workbooks(file).ActiveSheet.Range("T1" ) = ThisWorkbook.name
   
  End If
   
End Sub
 
en claire j ai deux classeur differents main.xls et adressdata.xls  si je clique sur un bouton ds main.xls ca doit ouvrir adressdate.xls   jusqu a pas pas de probleme  mais maintenant si je reclique sur ce bouton et que Adressdate EST ENCORE ouvert il fait un bogue
 
le but de mon prog  est de voir si cest deja ouvert ou pas  si ca l'est  on l active juste et si ca l'est pas on l'ouvre et on l'active
 
je pense qu il y a plus grand chose a changer mais je vois pas si qqun peut m'aider MERCI

n°50879
tfj57
Posté le 03-08-2001 à 14:01:05  profilanswer
 

Si j'ai bien compris ce qu'il faut faire, dans main.xls il suffit d'avoir une fonction commme :
 
Sub Macro1()
   Workbooks.Open FileName:="C:/mes documents/addressdata.xls"
End Sub
 
et l'associer à un bouton.
 
Si le bouton est recliqué, addressdata.xls est simplement activé (j'ai testé).
 
Attention l'objet ThisWorkbook, comme son nom l'indique, fait référance au fichier courant.
 
Remaeque : ThisWorkbook.name donne simplement le nom et non le chemin complet.
 
A+

n°50887
jujugoldma​n
Posté le 03-08-2001 à 14:21:46  profilanswer
 

ben  non qd  moi je reclique (et si c est encore ouvert) ca me dit  que addressdata est deja ouvert  et il me dit que si je le rouvre  toute les donnee non enregistrer seront perdues  et si je fais non il y a le debbugger qui m indique une erreur sur la ligne  
 
 Workbooks.Open FileName:="C:/mes documents/addressdata.xls"  
 
moi ca me la reactive pas ca ve me le reouvrir  !!!!!
Comment ca se fais ????

n°50924
tfj57
Posté le 03-08-2001 à 15:15:37  profilanswer
 

En effet, je n'avais pas penser à faire des modifications dans addressdata.xls, ça me fait la même erreur que toi !
 
Bon, il faut donc utiliser les gros moyens, voici une autre macro qui semble bien fonctionner : on teste si addressdata.xls n'est pas dans la liste des classeurs déjà ouverts ...
 
A+
-----------
Voici la macro à mettre dans main.xls
 
Sub Macro1()
 
   Dim Trouvé As Boolean
   Dim i As Integer
   Dim Nom As String
 
   Nom = "addressdata.xls"
 
   ' parcourir tous les classeurs qui sont ouverts
   Trouvé = False
   i = 1
   While i <= Workbooks.Count And Not Trouvé
      If Workbooks.Item(i).Name = Nom Then
         Trouvé = True
      Else
         i = i + 1
      End If
   Wend
 
   If Trouvé Then
      ' si ouvert, l'activer simplement
      Workbooks.Item(i).Activate
   Else
      ' si pas ouvert, l'ouvrir et l'activer
      Workbooks.Open "c:\mes documents\" + Nom
   End If
 
End Sub

 

[edtdd]--Message édité par tfj57--[/edtdd]

n°50927
jujugoldma​n
Posté le 03-08-2001 à 15:25:32  profilanswer
 

aller  je le test on verra

n°50931
jujugoldma​n
Posté le 03-08-2001 à 15:30:02  profilanswer
 

:crazy:  :crazy:  :crazy:  :crazy:  :crazy:  :crazy:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol:  :lol: CA MARCHE  MERCI BEAUCOUP  
 
T es trop fort   franchement Merci  tu me sauve la vie  
Si jamais je peux te rendre service a mom tou n hesite pas


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Question tte bete sous Vb Excel mais j'y arrive pas

 

Sujets relatifs
SQL-php: question sur requeteQuestion sur la programmation des fichiers *.bat ?
[ASP] question pour débuter ...comment faire un bouton sous excel en Vb
question de Visual BasicCe site vous plait il ? question de php
Question sur la dll de lame, ou sur les dll en généralQuestion de javascript
Quelqu'un si connait avec les "OLE Action" entre Word et Excel sous VB[flash] question ptet conne :)
Plus de sujets relatifs à : Question tte bete sous Vb Excel mais j'y arrive pas


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR