Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2021 Récupérer la valeur d’une cellule dans un classeur fermé

  • Initiateur de la discussion Initiateur de la discussion MANU64360
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MANU64360

XLDnaute Nouveau
Bonjour à tous.

J’ai une fois de plus besoin de votre aide sur une petite macro (que j’ai récupéré sur un autre fichier ou ça fonctionne très bien) que je souhaite appliquer sur un nouveau.

La macro consiste à l’aide d’un bouton dans le classeur1 de récupérer la valeur d’une cellule (qui change très régulièrement) et de la positionner dans un autre classeur FERMÉ (classeur2)

Je joins mes fichiers en PJ qui permet de voir le bug, Là où ça coince c’est le chemin du classeur2, elle ne le trouve pas pour l'ouvrir.

Petite précision : les deux fichiers sont dans le même dossier.

Le classeur 2 n’est pas accessible à tous les utilisateurs.

N'hésitez pas si vous avez besoin de plus d'explications et merci par avance pour votre aide
 

Pièces jointes

Solution
Bonjour Manu, Patrick,
Dans votre macro en remplaçant "fichier2.xlsm" par "Classeur2.xlsm", cela marche correctement avec les deux fichiers joint mis au même endroit.
1- Peut être est ce un problème d'autorisation d'accès, apparemment ce fichier destination n'est pas accessible à tous comme vous le précisez.
2- Peut être est ce une erreur de nom sur le fichier fermé.
bonjour
si Dir te dis que non c'est que tu fais erreur sur le chemin ou le nom
en l’occurrence tu donne deux classeurs en exemple (classeur1 et Classeur2) et dans la macro tu a mis "Fichier2"
ça risque pas de marcher
VB:
Option Explicit

Sub Bouton1_Cliquer()
    
    'Variable nom de mon fichier
    Dim monfichier As String
    monfichier = ThisWorkbook.Name
    
    'Position de la valeur à récupérer (fichier source)
    Dim information As String
    information = Sheets("feuil1").Range("B1").Value
    
    'Variable nom du fichier destination
    Dim fichier_destination As String
    fichier_destination = "Classeur2.xlsm"   'c'est "Classeur2""pas "Fichier2"
    
    'Variable chemin ou se trouve fichier de destination et variable classeur
    Dim chemin As String, WbK As Workbook
    
    
    chemin = ThisWorkbook.Path & "\" & fichier_destination
    'test d'existence du fichier
    If Dir(chemin) = "" Then MsgBox "Le chemin du classeur de destination n'existe pas", vbInformation: Exit Sub
    
    'ouverture du fichier de destination et renseigner la valeur récupérée
    Set WbK = Workbooks.Open(chemin)
    
    WbK.Worksheets("feuil1").Range("B1").Value = information
    
    'fermer le fichier de destination
    Workbooks(fichier_destination).Close SaveChanges:=True
    
    
    'réactiver mon fichier source
    Workbooks(monfichier).Activate
    
    MsgBox "Info transmise"
    
    
End Sub
 
Bonjour Manu, Patrick,
Dans votre macro en remplaçant "fichier2.xlsm" par "Classeur2.xlsm", cela marche correctement avec les deux fichiers joint mis au même endroit.
1- Peut être est ce un problème d'autorisation d'accès, apparemment ce fichier destination n'est pas accessible à tous comme vous le précisez.
2- Peut être est ce une erreur de nom sur le fichier fermé.
 
Un grand merci à vous pour vos réponses la solution était devant mes yeux effectivement ça marche très bien en modifiant "Classeur2"" .

je parle pour moi:

Ce n’est pas en coupant les oreilles d’un âne, qu’on en fera un cheval de course....​

MERCI Encore
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…