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 :

Extraction par VBA des Cellules


Sujet :

Macros et VBA Excel

  1. #1
    Membre habitué
    Inscrit en
    Août 2007
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 10
    Par défaut Extraction par VBA des Cellules
    Bonjour,

    J’ai besoin de votre aide.

    J’aimerais bien transférer des donnés deux tableaux (voir pièces jointe comme exemple) « tableau Test1 » et « tableau Test3 » vers le tableau Test2, j’ai utilisé pour ca le code ci-dessous, sur ce code il y a une erreur puisque le transfert ce fait par exemple de test1 vers test2 mais lorsque je fais le transfert du Tableau test3 vers Test2 il ne prend pas les lignes suivantes mais il efface et remplace les lignes existantes.

    merci de de me trouver l'erreur our de me proposer une solution.

    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
    Sub test()
    Dim a As Long, i As Long
    Application.ScreenUpdating = False
    Workbooks.Open ("C:\test2.xls")
    a = 2
    For i = 1 To 10000
    With Worksheets("Tabelle1")
    If .Cells(i, "G") = "1" Then
     
    Workbooks("Test2.xls").Sheets("Tabelle2").Cells(a, 1).Value = Workbooks("Test1.xls").Sheets("Tabelle1").Cells(i, 1).Value
    Workbooks("Test2.xls").Sheets("Tabelle2").Cells(a, 2).Value = Workbooks("Test1.xls").Sheets("Tabelle1").Cells(i, 2).Value
    Workbooks("Test2.xls").Sheets("Tabelle2").Cells(a, 3).Value = Workbooks("Test1.xls").Sheets("Tabelle1").Cells(i, 3).Value
    'Worksheets("Tabelle2").Cells(a, 2).Value = Worksheets("Tabelle1").Cells(i, 2).Value
    'Worksheets("Tabelle2").Cells(a, 3).Value = Worksheets("Tabelle1").Cells(i, 5).Value
    'Worksheets("Tabelle2").Cells(a, 4).Value = Worksheets("Tabelle1").Cells(i, 7).Value
    a = a + 1
    Else
    End If
    End With
    Next i
    Workbooks("test2.xls").Save
    Workbooks("test2.xls").Close
     
    Application.ScreenUpdating = True
    End Sub
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    242
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 242
    Par défaut
    Bonjour,

    Il y a au moins deux problèmes dans ce code.

    1. Le classeur Test2.xls devient actif après son ouverture. La ligne suivante s'applique donc à Test2.xls alors qu'il me semble qu'elle doit s'appliquer à Test1.xls (ou Test3.xls) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Worksheets("Tabelle1")
    Il faut donc modifier cette ligne par exemple en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Thisworkbook.Worksheets("Tabelle1")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With Workbooks("Test1.xls").Worksheets("Tabelle1")
    ou rajouter une ligne devant la boucle, pour activer le bon classeur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Workbooks("Test1.xls").Activate
        For i = 1 To 10000
            With Worksheets("Tabelle1")
    2. La valeur initiale de la variable a doit dépendre du contenu de la feuille Tabelle2 du classeur Test2.xls. Voici un exemple d'initialisation de a qui devrait fonctionner (si la colonne A des tableaux est toujours renseignée) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a = Workbooks("Test2.xls").Sheets("Tabelle2").Cells(65000, 1).End(xlUp).Row + 1

Discussions similaires

  1. Problème envoi par mail des cellules filtrées VBA
    Par Miguel973 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 25/03/2011, 11h12
  2. Réponses: 6
    Dernier message: 12/04/2007, 18h13
  3. [VBA-E]Remplacer 125- par -125 dans des cellules
    Par ju75011 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 12/02/2007, 15h21
  4. Réponses: 4
    Dernier message: 30/05/2006, 17h21
  5. [VBA-E]Remplir des cellules vides par des 0
    Par Tartenpion dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/03/2006, 13h58

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