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 Copier et transposer un plage de donnée [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    étudiant
    Inscrit en
    Juillet 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : étudiant

    Informations forums :
    Inscription : Juillet 2016
    Messages : 9
    Points : 7
    Points
    7
    Par défaut VBA Copier et transposer un plage de donnée
    Bonjour, je cherche a copier un colonne de donnée (colonne A de la page 1) et la coller-transposer dans la page "ASSET" ligne 5 débutant a la colonne E. Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Test()
    
    Worksheets("Sheet1").Range("A2:A114000").Copy
    
    Worksheets("ASSET").Cells(5, 5).End(xlToRight).PasteSpecial Transpose:=True
    
    End Sub
    j'ai tenté une autre option également :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub Transpose()
    '
    ' Transpose Macro
    
        Sheets("Sheet1").Cells(2, 1).Select
        Sheets("Sheet1").Range(Selection, Selection.End(xlDown)).Select.Copy
        Sheets("ASSET").Range("E5").End(xlToRight).PasteSpecial Transpose:=True
        
    End Sub
    Une erreur num:1004 apparaît dans les lignes en rouge.
    Merci a l'avance

    P.S : je commence à la ligne 2 parce que je n'ai pas besoin de l'entête

  2. #2
    Inactif  

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2012
    Messages
    4 904
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2012
    Messages : 4 904
    Points : 10 168
    Points
    10 168
    Billets dans le blog
    36
    Par défaut
    Bonjour,

    En principe, VBA se débrouille avec le collage, pour autant que tu lui donnes la première cellule de ta plage. Tu n'as pas à te préoccuper de définir la plage complète pour coller.

    Je pense que tu pourrais t'en tirer comme cela:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub Test()
        Worksheets("Sheet1").Range("A2:A114000").Copy
        Worksheets("ASSET").Cells(5, 5).PasteSpecial Transpose:=True
    End Sub
    À ma connaissance, le seul personnage qui a été diagnostiqué comme étant allergique au mot effort. c'est Gaston Lagaffe.

    Ô Saint Excel, Grand Dieu de l'Inutile.

    Excel n'a jamais été, n'est pas et ne sera jamais un SGBD, c'est pour cela que Excel s'appelle Excel et ne s'appelle pas Access junior.

  3. #3
    Membre émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Malheureusement, la fonction Excel Transpose est limitée à 65536 lignes.
    Par conséquent, l'erreur 1004 vient de là.

    Pour pallier à cela, il faut soit :
    1. Copier par groupe de 65000 lignes
    2. Créer sa fonction personnalisée


    De plus, coller en transposant 114000 lignes en colonnes risque de bugguer non?
    Il me semble qu'Excel est limité à 65536 colonnes...
    Cordialement,
    Franck

  4. #4
    Expert confirmé
    Homme Profil pro
    Responsable des études
    Inscrit en
    Juillet 2014
    Messages
    2 661
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aude (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2014
    Messages : 2 661
    Points : 5 785
    Points
    5 785
    Par défaut
    Bonjour,

    Citation Envoyé par pijaku Voir le message
    Il me semble qu'Excel est limité à 65536 colonnes...
    16 384 colonnes d'après https://support.office.com/fr-fr/art...7-269d656771c3
    La logique voudrait donc que la limite de la transposition soit la même.

    Pourquoi vouloir transposé autant de lignes?
    J'aimerais bien aller vivre en Théorie, car en Théorie tout se passe bien.

  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
    12 773
    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 : 12 773
    Points : 28 637
    Points
    28 637
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si tu lisais le message d'erreur complètement, tu verrais qu'il est impossible de transposer 113 999 lignes dans 16 384 colonnes.
    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 émérite
    Avatar de pijaku
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    1 814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2010
    Messages : 1 814
    Points : 2 949
    Points
    2 949
    Billets dans le blog
    10
    Par défaut
    Bonjour,

    Oups! Je n'avais même pas pris la peine de vérifier...
    Merci!

    La logique voudrait donc que la limite de la transposition soit la même.
    En effet.
    Sauf que l'on utilise également, en VBA, la Méthode Transpose. Et c'est même drôlement pratique!!

    Quant à :
    Pourquoi vouloir transposé autant de lignes?
    That's the question!
    Cordialement,
    Franck

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 04/06/2016, 21h36
  2. VBA: copier et transposer 2 cellules toutes les X-ieme colonnes
    Par vadius dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 26/07/2011, 11h57
  3. [VBA-E]Déclaration d'une plage de données
    Par illight dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 02/02/2007, 16h13
  4. [VBA-E] Selection d'une plage de données problématique
    Par Fab117 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/01/2007, 14h41
  5. [VBA] excel croisé dynamique et plage de données variables
    Par totoche dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 04/01/2006, 18h14

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