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 :

[VBA-E]copie spéciale d'un tableau vers un autre


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club Avatar de gojira
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut [VBA-E]copie spéciale d'un tableau vers un autre
    Bonjour,

    J'ai un petit soucis en VBA avec Excel.
    En fait mon but est le suivant:
    faire le copiage d'un tableau excel de plusieurs fichiers dans un seul.
    Il s'agit d'une copie ajout. J'ajoute les tableaux les uns derrière les autres dans le tableau de mon fichier ouvert.

    Exemple: J'ai x fichiers .xls contenant un tableau A
    et je veux tous les ajouter dans le tableau A du fichier toto.xls.

    facile me direz vous?
    1) Sans ouvrir les x fichier .xls?
    C'est un premier point que je ne sais pas faire.
    si je fais ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Workbooks.Open pathWorkbook & "/" & nomDuFichier
        Sheets("Training").UsedRange.Rows("2:" & Sheets("Training").UsedRange.Rows.Count).AutoFill _
            Destination:=ActiveWorkbook.Sheets("Training").Range.Rows(ActiveSheet.UsedRange.Rows.Count + 1), Type:=xlGrowthTrend
        Workbooks.Close
    non seulement ça ouvre le fichier xls... mais en plus ça ne copie rien du tout.

    Le deuxième problème est que mon tableau A du fichier toto.xls contient des formules, des liens (URL) , des dates, ...
    2) Je veux créer un backup du tableau A dans un autre onglet en gardant tous les attributs, formules comprises
    en faisant ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim Ligne As Integer
        Sheets("Training_old").Range("A1").CurrentRegion.ClearContents
        Sheets("Training").UsedRange
        Ligne = Sheets("Training").Range("a1").SpecialCells(xlCellTypeLastCell).Row
        Sheets("Training_old").Rows("1:" & Ligne).EntireRow.Insert shift:=xlDown
        Sheets("Training").UsedRange.Copy Destination:=Sheets("Training_old").Range("a1")
        Application.CutCopyMode = False
    je ne copie pas les formules :'(
    3) ensuite je veux tout effacer, sauf les formules dasn mon premier tableau backupé.
    en faisant le code trouvé sur la FAQ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Training").Range("2:" & Sheets("Training").UsedRange.Rows.Count).SpecialCells(xlCellTypeConstants, xlNumbers).ClearContents
    je n'efface pas les formules... mais je n'efface pas non plus les URL, les dates, ...

    Est-ce que ça vous parle ce genre d'exercice?

    Merci d'avance pour votre aide, je continue à chercher.
    Amicalement
    Gojira

  2. #2
    Membre du Club Avatar de gojira
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    je voudrais aussi pouvoir prendre en compte des cellules triés (non affichées)
    mais le code suivant ne marche pas:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A1").SpecialCells(xlCellTypeAllFormatConditions).Rows.Copy

  3. #3
    Membre du Club Avatar de gojira
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    94
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 94
    Points : 55
    Points
    55
    Par défaut
    J'ai résolu le problème en le prenant différement.
    Je ne passe plus par un filtre mais une copie des lignes dans un tableau temporaire

    merci à ceux qui se sont penchés sur le problème.

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 01/05/2015, 18h44
  2. Copie d'un tableau vers une autre forme
    Par bullrot dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/10/2012, 14h54
  3. [XL-2007] Copie d'un tableau vers une autre feuille
    Par bob254 dans le forum Excel
    Réponses: 2
    Dernier message: 08/04/2010, 13h22
  4. Réponses: 7
    Dernier message: 02/11/2006, 11h49
  5. Réponses: 12
    Dernier message: 07/12/2005, 18h42

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