IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Action sur toutes les feuilles d'un classeur


Sujet :

Macros et VBA Excel

  1. #1
    Provisoirement toléré
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Points : 62
    Points
    62
    Par défaut Action sur toutes les feuilles d'un classeur
    Bjr,

    J'ai le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    Sub Macro4()
    '
    ' Macro4 Macro
    ' Macro enregistrée le 20/12/2005 par pommbe01
    '
    Dim LaFeuille As Excel.Worksheet
     
        Set MesfeuillesTest = Workbooks("REPORTING.xls").Worksheets
     
        For Each LaFeuille In MesfeuillesTest
     
        Cells(2, 1).Select
     
        Next
     
        Selection.QueryTable.Refresh BackgroundQuery:=False
     
    End Sub
    En fait je désire realiser un refresh en selectionnant pour toutes les feuilles du classeurs une cellule et en réalisant l'action refresh.

    Le probleme est que mon code ne focntionne pas.

    Comment faire pour obtenir l'action que je désire réaliser??

    Merci

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Hello!
    Ha ben ça, oui, si tu mets le "refresh" en dehors de la boucle, ça ne va pas suffire: là, tu ne raffraichis que la dernière feuille de ton classeur.
    Déplace le "Next" après "Refresh", et ça ira mieux.
    Enfin, je crois...

  3. #3
    Provisoirement toléré
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    Et non maintenant j'ai une erreur d'execution : Erreur définie par l'application ou par l'objet au niveau de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Selection.QueryTable.Refresh BackgroundQuery:=False
    Merci

  4. #4
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Et tu as essayé de faire un "Activate" sur les feuilles juste avant le "Refresh"?

  5. #5
    Provisoirement toléré
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    J'ai essayé le code suivant et j'ai tjr la meme erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub Macro4()
    '
    ' Macro4 Macro
    ' Macro enregistrée le 20/12/2005 par pommbe01
    '
    Dim LaFeuille As Excel.Worksheet
     
        Set MesfeuillesTest = Workbooks("REPORTING.xls").Worksheets
     
        For Each LaFeuille In MesfeuillesTest
     
        Cells(2, 1).Select
     
        LaFeuille.Activate
     
        Selection.QueryTable.Refresh BackgroundQuery:=False
     
        Next
     
    End Sub
    J'ai également essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MesfeuillesTest.Activate
    ca ne fonctionne pas non plus.

    La je vois dsl.

    Merci

  6. #6
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Alors encore une question: qu'est-ce que tu veux "rafraîchir", dans tes onglets? Des formules de calculs?

  7. #7
    Provisoirement toléré
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    En fait ce que je veux faire c'est simplement cliquer sur une cellule (n'importe laquel) actionner l'action Refresh pour toutes les feuilles de mon fichier Excel.

    Merci

  8. #8
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    et rajoute Lafeuille devant :

  9. #9
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Et tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    LaFeuille.Calculate
    , ça ne marche pas?

  10. #10
    Provisoirement toléré
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    Sub Macro4()
    '
    ' Macro4 Macro
    ' Macro enregistrée le 20/12/2005 par pommbe01
    J'ai essayé ce code et meme erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Dim LaFeuille As Excel.Worksheet
     
        Set MesfeuillesTest = Workbooks("REPORTING.xls").Worksheets
     
        For Each LaFeuille In MesfeuillesTest
     
        LaFeuille.Cells(2, 1).Select
     
        LaFeuille.Activate
     
        Selection.QueryTable.Refresh BackgroundQuery:=False
     
        Next
     
    End Sub
    Je vais essayé Merci

  11. #11
    Provisoirement toléré
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    J'ai essayé ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    Sub Macro4()
    '
    ' Macro4 Macro
    ' Macro enregistrée le 20/12/2005 par pommbe01
    '
    Dim LaFeuille As Excel.Worksheet
     
        Set MesfeuillesTest = Workbooks("REPORTING.xls").Worksheets
     
        For Each LaFeuille In MesfeuillesTest
     
        Cells(2, 1).Select
     
        LaFeuille.Calculate
     
        Selection.QueryTable.Refresh BackgroundQuery:=False
     
        Next
     
    End Sub
    Mais toujour un probleme au niveau de la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Selection.QueryTable.Refresh BackgroundQuery:=False
    Merci

  12. #12
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Mais je pense que le "Calculate" effectue ton raffraîchissement.
    Supprime ta ligne avec le "...QueryTable..."

  13. #13
    Expert éminent sénior


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Points : 20 040
    Points
    20 040
    Par défaut
    QueryTable.refresh... c'est pour la mise à jour des données venant d'une table externe ( base...) il y en as dans toutes tes feuilles?

    .. si tu met rien devant Excel sélection la cellule (2,1) de la feuille active.. , donc ne sert pas à grand chose dans ta boucle .. ( ou alors si tu ne ve pas écrire LaFeuille.Cells(2,1).select , précéde cette ligne de LaFeuille.Activate..

  14. #14
    Provisoirement toléré
    Inscrit en
    Septembre 2005
    Messages
    147
    Détails du profil
    Informations forums :
    Inscription : Septembre 2005
    Messages : 147
    Points : 62
    Points
    62
    Par défaut
    Et non ca ne merche pas, il selectionne juste la cellule.

  15. #15
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Donc le ".Calculate" ne suffit pas.
    On en revient à ma question de tout à l'heure: qu'est-ce que tu veux mettre à jour dans tes onglets? Ce sont vraiment des données venant d'une table externe, ou est-ce que ce sont des formules de calculs, ou des liens vers un autre classeur?

Discussions similaires

  1. [XL-2013] Actions sur toutes les feuilles sauf 3
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 16/08/2013, 16h10
  2. Ajouter des étiquettes de colonnes sur toutes les feuilles du classeur
    Par Akane69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/07/2013, 09h26
  3. [XL-2003] Boucle For sur toutes les feuilles d'un classeur
    Par dlight dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/10/2010, 22h48
  4. Mise en page avant impression sur toutes les feuilles du classeur
    Par fribelle dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 12/11/2008, 09h48
  5. Comment parcourir toutes les feuilles d'un classeur excel?
    Par Subkill dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 01/02/2007, 20h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo