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 :

Ouverture de deux classeurs VBA et copie de colonnes


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Technicien réseau
    Inscrit en
    Juillet 2022
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien réseau
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2022
    Messages : 1
    Par défaut Ouverture de deux classeurs VBA et copie de colonnes
    Bonjour
    Merci d'avance pour votre aide.
    J'ai un fichier source que je dois récupérer dans un répertoire dont le nom est toujours différent (exemple : Toto 1565121)
    Ensuite je dois ouvrir un nouveau fichier Excel et copier uniquement les colonnes A et B du fichier Toto dans celui ci pour ensuite l'enregistrer.

    J'ai réalisé ce code mais lorsque j'exécute celui-ci il m'affiche une 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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Sub copiecolonneclasseur()
     
     
    Dim Fichier As String, Repertoire As String
     
    Dim fichiersource As Workbook
    Dim fichierfinal As Workbook
     
    Dim Repsauvegarde As String
     
     
     
    'ouvre du fichier toto
     
        Repertoire = "C:\XXXX\XXXX\"
        Fichier = Dir(Repertoire & "toto*.xlsx")
     
    'fichier toto trouvé
     
    If Len(Fichier) > 0 Then
       Workbooks.Open Filename:=Repertoire & Fichier
       Set fichiersource = ActiveWorkbook
     
     
    'ouverture du nouveau excel 
     
    Workbooks.Add
    Set fichierfinal = ActiveWorkbook
     
    'copie excel source vers excel final
     
    Workbooks("fichierfinal" ).Sheets(1).Range("A:A") = Workbooks("fichiersource" ).Sheets("1" ).Range("A:A" ).Value
    Workbooks("fichierfinal" ).Sheets(1).Range("B:B") = Workbooks("fichiersource" ).Sheets("1" ).Range("B:B" ).Value
     
    'sauvegarde du fichier excel
     
    Repsauvegarde = "C:\XXXXXXX"
    fichierfinal.SaveAs Repsauvegarde
     
    End If
     
    'si le fichier source n'est pas trouvé
    If Len(Fichier) = 0 Then
        MsgBox "Le fichier source n'a pas été trouvé !"
     
    End If
     
    End Sub
    Code erreur : Erreur d'éxécution '9'
    L'indice n'appartient pas à la sélection
    Ce code me renvoie à cette partie du code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks("fichierfinal" ).Sheets(1).Range("A:A") = Workbooks("fichiersource" ).Sheets("1" ).Range("A:A" ).Value
    Merci encore pour votre aide =)

  2. #2
    Expert confirmé
    Homme Profil pro
    retraité
    Inscrit en
    Juin 2012
    Messages
    3 432
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : retraité
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2012
    Messages : 3 432
    Par défaut
    Bonjour,

    Sans doute ceci, fichierfinal et fichiersource étant déjà des Worksbooks:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      fichierfinal.Sheets(1).Range("A:A") = fichiersource.Sheets(1).Range("A:A").Value
      fichierfinal.Sheets(1).Range("B:B") = fichiersource.Sheets(1).Range("B:B").Value
    Attention: Sheets(1) <> Sheets("1")

    Cordialement.

Discussions similaires

  1. aide macro traitant deux classeurs vba
    Par ellewided dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 17/07/2009, 10h44
  2. {VBA Excel}Copie de colonne
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 07/08/2007, 09h44
  3. [VBA-E] copie de colonnes
    Par bricereyem dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 08/06/2006, 09h56
  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. [VBA-E]copie entre classeurs (encore)
    Par Elstak dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 30/03/2006, 11h25

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