Actualiser Classeur Excel [VBS] - VB/VBA/VBS - Programmation
Marsh Posté le 20-04-2010 à 09:37:56
Il me semble que tu peux parcourir les différentes feuilles d'un classeur avec leur indice au lieu de leur nom.
Marsh Posté le 20-04-2010 à 09:55:04
J'ai testé en mettant Sheets(1) mais j'ai toujours comme message d'erreur indice en dehors de la plage.
Marsh Posté le 20-04-2010 à 10:34:37
Merci Daemon, le code que tu m'as donné fonctionne bien pour afficher le nom des tables mais quand j'utilise la fonction Refresh j'ai toujours le message d'erreur indice en dehors de la plage.
Marsh Posté le 20-04-2010 à 10:45:50
Code :
|
Marsh Posté le 20-04-2010 à 10:57:40
Dans le code tout en haut ça marche bien mais en effet c'est possible, je vais faire des essais.
Marsh Posté le 20-04-2010 à 11:24:43
En fait le problème ce produit sur les classeurs excel qui ont 2 feuilles ou plus et dont l'une d'elle est un tableau croisé dynamique. J'ai essayé sur un classeur avec une feuille et là c'est ok. Ce que je dois faire c'est, dans un premier temps, mettre à jour une, ou plusieurs, feuilles de données puis dans un second temps le tableau croisé dynamique et le problème c'est, visiblement, lui.
Marsh Posté le 20-04-2010 à 14:41:03
Merci DAEMON de ton aide j'ai fini par trouver. Il me faut utiliser la fonction REFRESHALL qui actualise toutes les feuilles. Il me faut la lancer 2 fois car le 1er coup elle met à jour les feuilles de données et ensuite les tableaux croisés dynamiques. Voici le code si ça intéresse quelqu'un:
Code :
|
Merci
Greg
Marsh Posté le 20-04-2010 à 09:32:57
Bonjour,
Voilà je rencontre un petit problème dans mon code. Je dois actualiser des classeurs excel alors j'arrive à actualiser une feuille mais je cherche une fonction qui me permettrait d'actualiser toutes les feuilles du classeur. vue que j'ai une centaine de classeur et que chacun à des feuilles avec des noms différents j'aimerais pouvoir balayer tous mes répertoires, ouvrir les classeurs excel et actualiser toutes les feuilles. Voici mon code qui permet d'actualiser une feuille spécifique:
Set objExcel = CreateObject ("Excel.Application" )
objExcel.Visible = false
Set objWorkbook = objExcel.Workbooks.Open("C:\Documents and Settings\RIEUX\Bureau\MAJ EXCEL\PLX_STATISTIQUE FOURNISSEUR.xls" )
objWorkbook.Sheets("Données" ).QueryTables(1).Refresh
WScript.Sleep 10000
objWorkbook.Saveas "C:\Documents and Settings\RIEUX\Bureau\MAJ EXCEL\PLX_STATISTIQUE FOURNISSEUR2.xls"
objworkbook.close
msgbox "fin"
Si quelqu'un a une idée je suis preneur.
Merci
Greg