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 :

Macro VBA Copier-coller avec formatage spécial


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2015
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Macro VBA Copier-coller avec formatage spécial
    Bonjour tout le monde,

    Je cherche à effectuer un copier-coller d'un classeur de mon fichier Excel mais ce classeur possède des cellules fusionnées sur les 4 premières colonnes de la première ligne.

    J'obtiens l’erreur suivante :
    "Erreur d'éxécution 1004 :
    Impossible de coller les informations car les zones Copier et de collage sont de forme et de taille différentes. [...]
    "
    Voilà mon code :
    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
    Sub Copier_coller()
     
    Dim Fichier As String
    Dim Chemin As String
    Dim ClasseurSource As Workbook
     
    Application.EnableEvents = False 'Evite l'exécution éventuelle de macros liées aux fichiers ouverts
     
    Chemin = "C:\Users\ABADIAA\Documents\Archives\"
    Fichier = Dir(Chemin & "*.xls")
    Do While Fichier <> ""
        Set ClasseurSource = Workbooks.Open(Chemin & Fichier)
        ClasseurSource.Worksheets("Détail financier fid  bis").Select 'nom de la feuille source (commune à tous les fichiers sources)
        Application.ScreenUpdating = False
        Range("A1:BL65536").Select
        Range("A1:BL65536").Activate
        Range(Selection, Selection.End(xlDown)).Select 'selection de la zone à copier
        Selection.Copy
        ThisWorkbook.Activate 'fichier ouvert "macro.xlsm"
        Sheets("Feuil1").Select
        Selection.PasteSpecial Paste:=xlPasteFormats
        ClasseurSource.Close
        Fichier = Dir 'Fichier suivant présent dans le dossier source
    Loop
     
     
    Application.EnableEvents = True
    Application.DisplayAlerts = True
     
    End Sub
    L'erreur se situe ici : Selection."PasteSpecial Paste:=xlPasteFormats"
    Pouvez vous m'aidez ? J'ai essayé d'autre techniques de collage mais rien n'y fait je n'y arrive pas ...

  2. #2
    Membre éclairé
    Avatar de tamtam64
    Homme Profil pro
    stagiaire developpement vba
    Inscrit en
    Mai 2012
    Messages
    456
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : stagiaire developpement vba
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2012
    Messages : 456
    Points : 658
    Points
    658
    Billets dans le blog
    17
    Par défaut
    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
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
     	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
     
     
    Sub Copier_coller()
     
    Dim Fichier As String
    Dim Chemin As String
    Dim ClasseurSource As Workbook
     
    Application.EnableEvents = False 'Evite l'exécution éventuelle de macros liées aux fichiers ouverts
     
    Chemin = "C:\Users\ABADIAA\Documents\Archives\"
    Fichier = Dir(Chemin & "*.xls")
    Do While Fichier <> ""
        Set ClasseurSource = Workbooks.Open(Chemin & Fichier)
        ClasseurSource.Worksheets("Détail financier fid  bis").Select 'nom de la feuille source (commune à tous les fichiers sources)
        Application.ScreenUpdating = False
        Range("A1:BL65536").Select
        Range("A1:BL65536").Activate
        Range(Selection, Selection.End(xlDown)).Select 'selection de la zone à copier
        Selection.Copy
        ThisWorkbook.Activate 'fichier ouvert "macro.xlsm"
        Sheets("Feuil1").Select
        Selection.PasteSpecial Paste:=xlPasteFormats
        ClasseurSource.Close
        Fichier = Dir 'Fichier suivant présent dans le dossier source
    Loop
     
     
    Application.EnableEvents = True
    Application.DisplayAlerts = True
     
    End Sub
    pourquoi ne pas les fusionner apres collage? si elles ne sont pas ammenées a changer
    Allez le RC LEns

Discussions similaires

  1. [XL-2010] en vba copier coller avec une condition dans des classeurs différents
    Par will83177 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/02/2014, 17h38
  2. [XL-2000] macro copier coller avec condition ne marche pas
    Par antfo dans le forum Macros et VBA Excel
    Réponses: 9
    Dernier message: 17/03/2010, 10h54
  3. Saturation du copier coller avec VBA
    Par frank26 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 20/11/2008, 09h25
  4. Macro copier/coller avec tri
    Par Lechette dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/03/2008, 12h44
  5. copier coller avec Pastespecial en VBA
    Par stormless dans le forum Général VBA
    Réponses: 1
    Dernier message: 06/11/2005, 11h59

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