Actualiser la connexion de données entre deux classeurs

Bonjour a tous,

J'ai un petit problème avec une macro d'actualisation.

Voila j'explique mon cas:

J'ai deux classeurs excel qui sont connecter entre eux, le classeur sur lequel je travail est appelé Base1 (il représente la source de données), et le deuxième est appelé Base2 (c'est lui qui reçoit les données, il est connecté avec le classeur Base1)

Le nom de la connexion est appelé alors : Base1_connect

J'ai enregistrer par la suite l'actualisation des données par une macro appelé ActualiserConnect, elle enregistrer dans le classeur Base2, et ça marche bien on l'exécutons depuis Base2

Mon problème est: j'ai essayé de créer un bouton qui fait exécuter cette macro par un code VBA (Bouton commande Activex) mais depuis mon classeur de travail (c'est a dire Base1) mais ça na pas marcher, voila ce que j'ai fait :

Private Sub CommandButton1_Click()

Application.Run "Base2.xls!'ActualiserConnect'"

End Sub

Alors est-ce qu'il y a quelqu'un qui peut me corriger cette expression.

Merci d'avance pour toute intervention.

Bonjour,

à tester en ajoutant le nom du module,

Application.Run "NomClasseur.xls!Module1.NomMacro"

Merci Sab pour votre intervention,

Malheureusement, toujours pas de résultat, j'ai même affecté cette macro avec un boutonClick (contrôle formulaire) et toujours pas de résultat, pourtant c'est simple, très bizard !

Ça y est je l'ai trouvé..!!

En faite, Il fallait que je enregistre ma macro au niveau du classeur du départ (Base1.xls).

Je récapitule, pour actualisé les données du classeur Base2 (Récepteur de données) par un bouton click sur Base1(Source de modification de données), il faut faire comme suite:

1) Enregistrer une macro dans Base1

2) Aller vers Base2 est actualiser les données tout simplement par le menu "Actualiser Tout"

3) Arrêter l'enregistrement dans Base1

4) Créer un bouton (Contrôle formulaire) en lui affectant la macro enregistré.

Alors de cette façon le code de la macro deviens comme ci:

Sub ActualiserBase2()

'

' ActualiserBase2 Macro

'

'

Windows("Base2.xlsm").Activate

ActiveWorkbook.RefreshAll

Windows("Base1.xlsm").Activate

End Sub

Finalement c'étais simple.

J'aimerai ajouter une autre question complémentaire a ce sujet.

Est-ce que c'est possible de faire la même chose mais Etant le classeur Base2 fermé (classeur a actualiser) ?

Encore je l'ai trouvé, voici la réponse:

Cette fois si non, pour actualiser un classeur fermé depuis un autre classeur, il faut d'abord enregistré la macro d'actualisation dans le classeur Base2 (récepteur de données) ensuite en fait appel a cette macro par le bouton click sur Base1 comme ceci:

Private Sub CommandButton1_Click()

Run "'C:\Users\ANEM\Desktop\Base2.xlsm'!ActualiserConnect"

Windows("Base2.xlsm").Close

End Sub

Rechercher des sujets similaires à "actualiser connexion donnees entre deux classeurs"