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] Copier des données d'un tableau a une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 39
    Points : 28
    Points
    28
    Par défaut [VBA-E] Copier des données d'un tableau a une feuille
    Bonjour a tous,
    Mon problème est dans le titre, c'est à dire que j'ai un tableau qui contient des chaines de caractères.
    Je désire les copier les unes sous les autres, donc en revenant à la ligne à chaque fois.
    Je n'ai pas réussis à trouver comment faire, quelqu'un pourrait il m'aider ?

    En réalité, je ne sais pas comment automatisé le saut de ligne aprés chaque itération ( je copie donc les données grâce à une boucle ).

    Merci d'avance.

  2. #2
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Comprend pas : ton tableau est ou dans une autre feuille ? ou c'est un TCD ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Bonjour
    Mon tableau est dans une procédure, il a été remplie par des chaines de caractères dans cette procédure, et, je dois, toujours à partir de cette procédure, copier chaque case de mon tableau dans une ligne de la feuille, en allant a la ligne a chaque fois.
    En faite par tableau j'entends tableau au sens programmation du terme.

  4. #4
    Expert confirmé Avatar de illight
    Homme Profil pro
    Analyste décisionnel
    Inscrit en
    Septembre 2005
    Messages
    2 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Analyste décisionnel
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2005
    Messages : 2 338
    Points : 4 295
    Points
    4 295
    Par défaut
    Ton tableau est défini comment ? il commance a 0 ou a 1 ?

    Parce qu eje pense qu'en faisant une double boucle imbriquée ça doit etre faisable

    Je crois que la fonction ubound permet de compte le nombre d'éléments dans un tableau


    Donc en faisant 2 For imbriquées, je pense que tu t'en sortira facilement non ?
    1. Avant de poster, et http://www.developpez.com/sources/
    2. Lors du post, n'oubliez pas, si besoin les balises CODE => voir ici pour l'utilisation
    3. N'oubliez pas le
    4. N'oubliez pas le si la réponse vous a été utile !

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Euh il commence a 0
    Mais le probleme c'est que je vois pas comment passer a la ligne du dessous
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    For i=0 to lastindexdemontablo
         Range("Ai").select
         ActiveCell.FormulaR1C1 = montablo(i)
    Next i
    A : étant la colonne

    Le probleme se pose au niveau du "Ai", il n'incrementera pas le i puisqu'il est dans une chaine de caractere ( " " ).

    Je ne sais pas si je suis trés clair mais le problème se pose la.

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Nickel !
    J'ai trouvé, quel boulet j'aurais du y penser directement !!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    For i = 1 To lastindexdemontablo
        Dim conv As String
        conv = i
        Range("A" + conv).Select
        ActiveCell.FormulaR1C1 = montablo(i)
    Next i
    Et voila une petite concatenation et c'est bon !!
    Merci

  7. #7
    Modérateur
    Avatar de AlainTech
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Mai 2005
    Messages
    4 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2005
    Messages : 4 235
    Points : 24 327
    Points
    24 327
    Par défaut
    Il est nettement plus simple de travailler avec Cells et sans Select:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For i = 1 To lastindexdemontablo
        Cells(i, 1).Value = montablo(i)
    Next i
    Et, si ton problème est résolu, il y a un bouton en bas de page qui sert à le signaler, à ceux qui essayent d'aider les autres, sans qu'ils doivent tout lire pour s'en rendre compte.
    N'oubliez pas de cliquer sur quand vous avez obtenu ou trouvé vous-même la réponse à votre question.
    Si vous trouvez seul, pensez à poster votre solution. Elle peut servir à d'autres!
    Pensez aussi à voter pour les réponses qui vous ont aidés.
    ------------
    Je dois beaucoup de mes connaissances à mes erreurs!

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2005
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Bonjour,
    Oui, je suis sincèrement désolé, mais je n'ai pas mis le sujet comme résolu car j'étais convaincu qu'il y avait une méthode beaucoup plus naturelle / professionnelle, viable.
    Visiblement c'est le cas, et je vous remercie de m'avoir éclairé sur ce sujet : je suis totalement néophyte en vba, et jusqu'ici je ne me servais que des select.
    En tout cas, maintenant je vais mettre le sujet comme résolu, encore merci.
    A+

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

Discussions similaires

  1. Copier des données d'un tableau excel vers un tableau word(gabarit)
    Par mogo107 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/07/2013, 10h16
  2. [XL-2007] Copier des données de plusieurs classeurs sur une feuille récap
    Par chipster008 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 09/08/2011, 12h12
  3. [POO] ajouter des données dans un tableau contenant une structure
    Par Peanut dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/02/2009, 19h41
  4. Réponses: 9
    Dernier message: 04/04/2007, 12h16
  5. [VBA-A]Copier des données d'Excel vers Word
    Par soad029 dans le forum VBA Word
    Réponses: 15
    Dernier message: 16/03/2006, 12h56

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