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

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Excel : récupérer le nom des feuilles

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

VBA Excel : récupérer le nom des feuilles

n°1270930
josserand_​joss
Posté le 20-12-2005 à 17:15:40  profilanswer
 

Bonjour à tous !!
 
J'ai besoin de récupérer le nom des feuilles d'un classeur externe.
(la macro de classeur1.xls veut savoir les noms des différentes feuilles de classeur2.xls)
 
Comment faire ??
 
Grand merci d'avance !!
 
Joss

mood
Publicité
Posté le 20-12-2005 à 17:15:40  profilanswer
 

n°1271274
DamienCYS
Posté le 21-12-2005 à 14:20:47  profilanswer
 

je sai pas si c'est vraiment ca ton besoin  
essaye ; Sheets(x).name //ou x est le numéro de ta feuille

n°1271655
josserand_​joss
Posté le 22-12-2005 à 09:54:52  profilanswer
 

Salut DamienCYS,
 
Non, en fait j'ai besoin de savoir les noms des feuilles d'un classeur fermé. (l'existence du classeur a déjà été testé.)
En gros, il faut que je teste l'existence d'une feuille pour continuer mon programme.
 
Si le classeur 'enfouieqqpart.xls' contient une feuille appelée "Fappelée" alors...
 
J'espère que je suis un peu plus clair.
 
Merci !
 
Joss

n°1271702
DamienCYS
Posté le 22-12-2005 à 11:37:29  profilanswer
 

Je pense qu'il faut que tu ouvre ton classeur, je verrai ca de la manière suivante :
 
Workbook.Open Filename := "<Chemain d'accès de ton fichier>"
Windows("<nom de ton fichier>" ).Activate
for compteur% = 1 to 10  // pour 10 feuilles maxi a toi de voir
  if Sheets(compteur%).name = "<le nom que tu veu chercher>" then
     ..........
  end if
next

n°1272456
josserand_​joss
Posté le 23-12-2005 à 12:55:56  profilanswer
 

Il a l'air de planter comme ça (où j'ai mal remplacer les chemins).
 
Par contre, j'ai trouvé une autre soluce un peu plus compliquée où il a fallut que je rajoute un ligne pour qu'il marche :
 

Code :
  1. Dim cn
  2. Dim cat
  3. Dim xlSheet As Variant
  4. Dim Fichier$
  5. 'Initialisation
  6. Set cn = CreateObject("ADODB.Connection" )
  7. Set cat = CreateObject("ADOX.Catalog" )
  8. Fichier = chemin & "\" & fileNom //prédéfini avant
  9. ClasseurVide = True
  10. 'Open the Connection
  11. cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Fichier & ";Extended Properties=Excel 8.0;"
  12. 'Open the catalog
  13. Set cat.ActiveConnection = cn
  14. For Each xlSheet In cat.Tables
  15.     If xlSheet.Name = "'MaFeuille$'" Or xlSheet.Name = "MaFeuille$" Then
  16.         ClasseurVide = False
  17.     End If
  18.     'MsgBox xlSheet.Name
  19. Next
  20. 'Nettoyage
  21. cn.Close //sans ça, ça plantait
  22. Set cn = Nothing: Set cat = Nothing


 
C'est pas top top, étant donné que ça ne récupère pas QUE les feuilles, mais ça m'a permis d'avancer.
 
Merci quand même pour ton aide !!
 
Joss


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  VBA Excel : récupérer le nom des feuilles

 

Sujets relatifs
VBA: macro qui se lance apres modif de certaines cell[Java][VBA] Java ou VBA pour cet usage ?
[VBA POWERPOINT] [done]Supprimer toutes les images du slide1Comment afficher/récupérer des éléments (POO) d'un tableau
VB WORD EXCEL[VBA]GetOpenFilename ne fonctionne pas
[VBA] mise en forme conditionnelle Excel sous Access[VBA EXCEL 03] Probleme de mise en forme auto du graph
Plus de sujets relatifs à : VBA Excel : récupérer le nom des feuilles


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