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 :

Importation de données suivant une date [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut Importation de données suivant une date
    Bonjour à tous,

    Je cherche à créer une macro qui permette d'importer des données d'un fichier Excel. Ce dernier se compose de 5 colonnes A,B,C,D et E, avec un nombre de ligne variable. Les lignes sont classées par date et je voudrais seulement importer les données qui datent de la semaine d'avant (aujourd'hui - 7jours)
    J'ai fait un essai :
    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Sub Import()
     
    Set Destination = ActiveWorkbook
     
    Dim ladate As Date, Plage As Range
     
    ladate = DateAdd("d", -7, Date)
     
     
    Source = Application.Dialogs(xlDialogOpen).Show
        If Source = False Then
            MsgBox ("Aucun fichier sélectionné")
                Exit Sub
        Else
            Set Source = ActiveWorkbook
     
            Source.Activate
            Sheets(1).Select
     
                For I = 2 To .Range("A" & Rows.Count).End(xlUp).Row
                    If .Range("A" & I).Value = ladate Then
                        If Plage Is Nothing Then
                            Set Plage = .Range("A" & I & ":" & "E" & I)
                        Else
                            Set Plage = Union(Plage, .Range("A" & I & ":" & "E" & I))
                        End If
                    End If
                Next
     
            Plage.Select
            Selection.Copy
     
            Destination.Activate
            Sheets(2).Select
            Range("A1").Select
            Selection.PasteSpecial Paste:=xlPasteValues
     
            Source.Activate
            Application.CutCopyMode = False
            ActiveWindow.Close SaveChanges:=False
     
        End If
     
     
    End Sub
    mais à l'éxecution de la macro, j'ai :
    Erreur de compilation : Référence incorrecte ou non qualifié à la ligne For I = 2 To .Range("A" & Rows.Count).End(xlUp).Row
    D'avance merci pour votre aide

  2. #2
    Membre actif Avatar de L'Albatros
    Homme Profil pro
    Chercheur en économie - statistique
    Inscrit en
    Avril 2012
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chercheur en économie - statistique
    Secteur : Finance

    Informations forums :
    Inscription : Avril 2012
    Messages : 150
    Points : 239
    Points
    239
    Par défaut
    Remplace avec ceci:

    (de mon côté ça marche)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Set Source = ActiveWorkbook
     
            Source.Activate
            Sheets(1).Select
     
                For I = 2 To Range("A" & Rows.Count).End(xlUp).Row
                    If Range("A" & I).Value = ladate Then
                        If Plage Is Nothing Then
                            Set Plage = Range("A" & I & ":" & "E" & I)
                        Else
                            Set Plage = Union(Plage, Range("A" & I & ":" & "E" & I))
                        End If
                    End If
                Next

  3. #3
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mai 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mai 2012
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    Oui en fait ça marche comme ca tout simplement,

    Merci

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

Discussions similaires

  1. récupération de données suivant une date
    Par gilles974 dans le forum Requêtes
    Réponses: 9
    Dernier message: 14/12/2010, 17h48
  2. [XL-2003] recuperation de données suivant une date
    Par revemane dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/05/2009, 20h48
  3. importer les données d'une base access
    Par warraf dans le forum Access
    Réponses: 9
    Dernier message: 08/11/2005, 22h40
  4. importer les données d'une base oracle
    Par hossni dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 07/07/2005, 16h33
  5. [CR]Importer des données d'une feuille excel
    Par rolan dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 17/12/2004, 22h32

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