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 :

copier une ligne si dans un autre fichier


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 67
    Points : 44
    Points
    44
    Par défaut copier une ligne si dans un autre fichier
    Bonjour à tous ,

    J'ai un code qui doit me permettre de copier la ligne complête si sa cellule A contient la date aujourdhui()vers un autre fichier cette ligne doit se coller dans la ligne dont la cellule A est "" (premiere ligne vide )
    Voici mon code qui ne marche pas
    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
    Sub distri2()
        Dim Lastlig As Long, i As Long
        Dim Dest As Range
        Workbooks.Open "C:\Documents and Settings\PC42\Bureau\Stats_equipes.xlsx"
        Workbooks.Open "C:\Documents and Settings\PC42\Bureau\A_4_2_LagerKontrolleGP.xls"
        Set Dest = Workbooks("Stats_equipes").Sheets("progression").Range("A6000").End(xlUp)(2) 'Cellule de destination
            ActiveWorkbook.RefreshAll
        With Sheets("status_6") 'Changer le nom de la feuille
        For i = 1 To 35
            'Value2 contient le numéro de série de la date, indépendant du format.
            If .Range("a" & i).Value2 = Date Then
                .Range("a" & i).EntireRow.Copy Destination:=Dest
                Exit For
            End If
        Next
        End With
    End Sub
    Pourriez vous m'aider?

    merci

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2009
    Messages
    1 794
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 85
    Localisation : Belgique

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juillet 2009
    Messages : 1 794
    Points : 3 094
    Points
    3 094
    Par défaut
    Bonjour,

    Je vois un Copy mais pas de Paste, est-ce bien normal?
    Cordialement.

    RJ

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2009
    Messages
    67
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 67
    Points : 44
    Points
    44
    Par défaut
    Je pense que le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .Range("a" & i).EntireRow.Copy Destination:=Dest
    est bon par contre des le lancement une erreur me dit que "progression"la feuille du classeur de destination "Stats_equipes" ne fait pas parti de l'indice
    Est ce que cette partie est mal placé ?

  4. #4
    Expert éminent sénior Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Points : 31 877
    Points
    31 877
    Par défaut
    En travaillant avec plusieurs fichiers ouverts par ton code, tu dois indiquer de quel classeur s'agit il ici
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    With ThisWorkbook.Sheets("status_6")
    Si cette feuille appartient au classeur d'où la macro est lancée.

    Sinon aies l'habitude de travailler avec des objets

    exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub distri2()
    Dim wbS As Workbook, wbA As Workbook
    Dim Lastlig As Long, i As Long
    Dim Dest As Range, c As Range
     
    Set wbS = Workbooks.Open("C:\Documents and Settings\PC42\Bureau\Stats_equipes.xlsx")
    Set wbA = Workbooks.Open("C:\Documents and Settings\PC42\Bureau\A_4_2_LagerKontrolleGP.xls")
    '...
    Tu auras tes 2 classeurs ouverts sans souci duquel est le classeur actif
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

Discussions similaires

  1. Ajout du contenu d'un fichier dans une ligne précise d'un autre fichier
    Par megayaya dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 09/10/2012, 09h28
  2. Réponses: 1
    Dernier message: 21/06/2010, 23h29
  3. [Gtk] Copier une ligne existante dans une autre treeview
    Par Aspic dans le forum GTK+ avec C & C++
    Réponses: 0
    Dernier message: 07/12/2009, 16h23
  4. copier une ligne selectionne dans un autre onglet
    Par calvi2002 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/07/2009, 12h09
  5. [VBA-E] copier une fiche active dans un autre classeur.
    Par Little-Freud dans le forum Macros et VBA Excel
    Réponses: 21
    Dernier message: 15/03/2006, 10h51

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