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 copie de données dans un autre tableau


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut Vba copie de données dans un autre tableau
    Bonjour,

    J'aimerais réaliser une copie de donnée d'un tableau à un autre. Mon problème est qu'on me donne plus de 16000 données (une données toutes les deux secondes et je veux en récupérer une toutes les 30 secondes).

    J'ai fait du VBA il y a longtemps et je suis un peu rouillé. J n'ai pas trouver de bon cours est ce que vous pourriez m'en proposer un?

    Sinon j'ai commencer à essayer de programmer quelques lgnes de codes mais je n'arriive pas à trouver les commandes pour choisir une feuilles sous excel sélectionner une ligne de valeur et la copier dans une autre feuille excel. Pour cela j'ai choisi de faire une boucle Do while.

    Data est la feuille ou je veux faire ma sélection de données toutes les 30 secondes et Sheet3 la feuille ou je veux mettre la sélection des résultats.

    Bien sur ca marche pas. Je pense que dans l'esprit s'est bon pas dans le codage

    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
    1 Sub copy()
    2 Dim i As Integer
    3 Dim n As Integer
    4 n = 1
    5 i = 32
    6    Do While i < 16384  
    8        Sheets("Data").Rows(i).Select
    9        Selection.copy
    10       Sheets("Sheet3").Select
    11       ActiveWindow.SmallScroll Down:=-12
    12       Sheets("Sheet3").Rows(n).Select
    13       ActiveSheet.Paste
    14       Rows(n + 1).Select
    15       i = i + 30
    16       n = n + 1        
    17    Loop
    18 End Sub
    Merci d'avance

  2. #2
    Membre émérite

    Profil pro
    Inscrit en
    Mai 2007
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 514
    Par défaut
    Bonjour,

    Evite de sélectionner les objets:

    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
    Sub copy1()
        Dim i As Integer
        Dim n As Integer
        Dim Data As Worksheet
        Dim Result As Worksheet
        n = 1
        i = 32
        Set Data = Worksheets("Data")
        Set Result = Worksheets("Sheet3")
        Do While i < 16384
           Result.Rows(n).Value = Data.Rows(i).Value
           i = i + 30
           n = n + 1
        Loop
    End Sub
    Cordialement,

    Tirex28/

  3. #3
    Rédacteur
    Avatar de DarkVader
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    2 131
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 131
    Par défaut
    Citation Envoyé par wade-doak Voir le message
    Bonjour,

    J'aimerais réaliser une copie de donnée d'un tableau à un autre. Mon problème est qu'on me donne plus de 16000 données (une données toutes les deux secondes et je veux en récupérer une toutes les 30 secondes).
    .../...
    Comment les données sont-elles entrées toutes les 2 sec. dans le tableau 1 ?
    Manuellement ?
    Programme serveur ?
    DDE ?

    J'imagine que le but est de réaliser un tableau en temps réel des données filtrées (1 donnée/15) ?

  4. #4
    Membre averti
    Inscrit en
    Mai 2008
    Messages
    12
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 12
    Par défaut
    Les donnees sont recuperees par un ordi qui enregistre des donnees de l emission de gaz sur un landfill.

    Je pense avoir trouve une solution qui fonctionne
    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
     
    1  freq = Application.InputBox(Prompt:="please enter the frequency of your selection in sec", Type:=1)
    2  If freq = False Then
    3     Exit Sub   
    4  ElseIf freq = "" Then
    5     Exit Sub
    6  Else
    7  i = 32
    8  r = 2
    9  Worksheets("Sheet3").Cells.Clear
    10     For n = 1 To 15
    11         Worksheets("Sheet3").Cells(1, n).Value = Worksheets("Data").Cells(31, n).Value
    12     Next
    13     Do While i < 16384
    14         For n = 1 To 15
    15             Worksheets("Sheet3").Cells(r, n).Value = Worksheets("Data").Cells(i, n).Value
    16         Next
    17         i = i + (freq / 2)
    18         r = r + 1
    19     Loop
    20 End If
    J'ai pris soin de bien tout declarer et je crois que ca fonctionne plutot pas mal.
    Par contre je sais pas si s'est tres efficace. Vu qu'il y a bc de donnees est ce que ca va pas etre trop long (dsl pour les accents j ai un qwerty)?
    Merci de votre aide.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 25/03/2013, 16h05
  2. [XL-2003] Faire correspondre une colonne avec une autre et copié les données dans la bonne colonne
    Par mairiemeudon dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 01/06/2010, 15h31
  3. [VBA] Récupération de données dans tableau recapitulatif
    Par n0vocaine dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/05/2010, 07h41
  4. Copie de données dans un autre feuille
    Par stik69 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/01/2010, 12h56
  5. Réponses: 1
    Dernier message: 17/10/2006, 17h37

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