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 :

travailler sur 2 classeurs


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Avatar de frunch
    Homme Profil pro
    Développeur / comptable
    Inscrit en
    Janvier 2022
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur / comptable
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2022
    Messages : 174
    Par défaut travailler sur 2 classeurs
    Bonjour à tous,

    Pour un début, j'aimerais recopier la cellule A1 d'un 2eme classeur fermé sur la cellule A1 d'un classeur ouvert comportant la macro.
    En essayant le code de ce sujet, parmi d'autres, je n'arrive pas à ouvrir le 2éme classeur avec ce code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub CommandButton1_Click()
      Dim F1 As Workbook, F2 As Workbook
      Dim chemin As String, fichier As String
      Set F1 = ActiveWorkbook
    Workbooks.Open "D:\Users\FRANCK\Documents\FRANCK\EXCEL\MACROS\EXERCICES MACRO\FICHIERS\Classeur2.xlsm"  
    F1.Worksheets(1).Cells(1, 1) = Classeur2.Worksheets(2).Cells(1, 1) 
      F1.Close
    End Sub
    Tiens la ligne en rouge n'est pas celle qui bug, mais celle d'après.
    Merci de votre aide

  2. #2
    Membre Expert
    Inscrit en
    Décembre 2002
    Messages
    993
    Détails du profil
    Informations forums :
    Inscription : Décembre 2002
    Messages : 993
    Par défaut
    Hello,
    Essaie comme ceci:

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    Sub RecopierValeur()
        Dim fd As FileDialog
        Dim nomFichier As String
        Dim nomFeuille As String
        Dim cellule As String
        Dim valeur As Variant
        Dim wb As Workbook
     
        ' Crée un objet FileDialog pour sélectionner le classeur fermé
        Set fd = Application.FileDialog(msoFileDialogFilePicker)
     
        ' Affiche la boîte de dialogue pour sélectionner le classeur fermé
        If fd.Show = -1 Then
            ' Récupère le nom du fichier sélectionné
            nomFichier = fd.SelectedItems(1)
     
            ' Spécifiez le nom de la feuille dans le classeur fermé
            nomFeuille = "Test"
     
            ' Spécifiez la cellule à recopier dans le classeur fermé
            cellule = "A1"
     
            ' Ouvre temporairement le classeur fermé en arrière-plan
            Application.ScreenUpdating = False
            Set wb = Workbooks.Open(nomFichier, ReadOnly:=True)
     
            ' Récupère la valeur de la cellule spécifiée dans le classeur fermé
            valeur = wb.Sheets(nomFeuille).Range(cellule).Value
     
            ' Ferme le classeur sans enregistrer les modifications
            wb.Close SaveChanges:=False
            Application.ScreenUpdating = True
     
            ' Recopie la valeur dans la cellule A1 du classeur ouvert
            ThisWorkbook.Sheets("Feuil1").Range("A1").Value = valeur
        End If
    End Sub

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En ligne 6, "Classeur2" n'est pas un objet. D'où sort-il ?
    Workbooks(2) éventuellement si celui-ci est vraiment le second ouvert mais ce n'est pas la meilleure approche

    [EDIT]
    Comme vous avez déclaré F2 comme objet Workbook, remplacez la ligne 5 par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Set F2 = Workbooks.Open(FileName:="D:\Users\FRANCK\Documents\FRANCK\EXCEL\MACROS\EXERCICES MACRO\FICHIERS\Classeur2.xlsm")
    et ensuite utilisez la variable objet F2 en lieu et place de Classeur2

    écrit de mémoire donc non testé
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Membre très actif
    Avatar de frunch
    Homme Profil pro
    Développeur / comptable
    Inscrit en
    Janvier 2022
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur / comptable
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2022
    Messages : 174
    Par défaut
    Bonjour Franc et Philippe,
    Franc çà fonctionne merci
    Philippe, çà bug ici
    Nom : 1.png
Affichages : 113
Taille : 1,2 Ko

  5. #5
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Philippe, çà bug ici
    Quelle erreur avez-vous ?
    Y a t'il bien deux feuilles de calcul dans le classeur F2 ?
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  6. #6
    Membre très actif
    Avatar de frunch
    Homme Profil pro
    Développeur / comptable
    Inscrit en
    Janvier 2022
    Messages
    174
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur / comptable
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2022
    Messages : 174
    Par défaut
    Non Philippe,
    Il n'y a qu'une feuille appelée 2.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. travailler sur deux classeurs
    Par TEXMAN1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 03/02/2008, 15h39
  2. Travailler sur 1 classeur actif non enregistré
    Par pat_che dans le forum VBA Access
    Réponses: 1
    Dernier message: 22/11/2007, 10h38
  3. [VBA-E] travailler sur deux classeurs
    Par argv666 dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 06/09/2006, 10h40
  4. [VBA-E]travail sur deux classeurs excel
    Par richou dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 04/04/2006, 10h59
  5. travail sur plusieur classeur
    Par calimero91 dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 12/01/2006, 15h37

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