Cliquer deux fois sur bouton macro pour qu'elle fonctionne

Bonjour,

J'ai un petit casse tête et je ne trouve pas la solution.

J'ai un classeur Excel que j'utilise pour traiter des données extraites via SAP. J'utilise pour cela deux fois Power Query afin d'obtenir le résultat souhaité.

Pour rendre le fichier plus agréable, j'ai fait une macro toute simple :

Lorsqu'on colle la partie "SAP" sur l'onglet voulu, il y a un bouton "rafraîchir" qui permet de lancer la macro (qui rafraichit tout le classeur) et affiche ensuite l'onglet avec le résultat.

Problème : lors du premier clic sur le bouton, on va bien dans l'onglet du résultat. Mais pas de mise à jour des données... Il faut retourner dans l'onglet initial puis cliquer une deuxième fois.

La macro est la suivante :

Sub Bouton2_Cliquer()
Sheets("Plan de maintenance").Activate
ActiveWorkbook.RefreshAll
End Sub

Je me suis permis de joindre le fichier en P-J. Si vous voulez supprimer le texte dans l'onglet "COLLER SAP ICI" pour faire des essais, j'ai laissé le nécessaire dans un onglet nommé "pour test" afin de retrouver facilement ce qu'il faut copier/coller.

Bonjour,

Et si tu inverses tes 2 lignes ?

D'abord tu rafraîchit et puis tu active la feuille.

Bonjour,

Merci pour votre retour. J'ai essayé d'inverser auparavant et le résultat est malheureusement le même.

Sub Bouton2_Cliquer()
    ActiveWorkbook.RefreshAll
    Application.Wait Time + TimeSerial(0, 0, 2) ' 2 secondes de pause avant la prochaine execution
    Sheets("Plan de maintenance").Activate
End Sub

Alors comme cela

Re-Bonjour,

Merci pour votre retour. Malheureusement ça ne fonctionne toujours pas, ça m'affiche bien l'onglet en question mais pas de mise à jour. Je dois retourner dans l'onglet précédent et appuyer une nouvelle fois sur le bouton.

Ce fichier ne fonctionne pas ? De mon côté oui

Bonjour,

Non en effet, j'avais tapé la macro la je viens de télécharger le fichier que tu as mis en P-J. J'ai supprimé tout le contenu de l'onglet "coller SAP ici" pour test, cliqué sur le bouton. Il y a bien un temps d'attente de deux secondes avant d'aller sur l'onglet "plan de maintenance" qui doit afficher le résultat, mais il n'y a pas mise à jour des données. Je dois retourner dans l'onglet "COLLER SAP ICI", puis cliquer à nouveau sur le bouton et les données se mettent à jour.

La j'ai pas d'explication..

Et si tu double la macro ?

Sub Bouton2_Cliquer()
 Sheets("Plan de maintenance").Activate
    ActiveWorkbook.RefreshAll
   Application.Wait Time + TimeSerial(0, 0, 2) ' 2 secondes de pause avant la prochaine execution
ActiveWorkbook.RefreshAll  
End Sub

J'avais essayé et même résultat, mais j'ai trouvé la solution.

Dans mon traitement des données j'utilise 2x un tableau traité par Power Query. Je pense que ça venait de cela : cela force à deux actualisation distinctes.

J'ai optimisé le tout afin de passer par uniquement un seul tableau et miracle, ça fonctionne !

Sujet résolu, merci pour ton temps et ton aide.

Rechercher des sujets similaires à "cliquer deux fois bouton macro fonctionne"