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 :

Importer des données avec une condition


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 92
    Points : 75
    Points
    75
    Par défaut Importer des données avec une condition
    Bonjour j'ai un probleme j'ai une feuile excel contenant des données dans les colonnes A-F, ma colonne G contient des dates.
    J'aimerai si je rentre deux dates pouvoir importer vers une nouvelle feuille les données comprises entre mes deux dates
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    voir du coté du tutoriel Les filtres avancés ou élaborés dans Excel
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 92
    Points : 75
    Points
    75
    Par défaut
    En fait j'essaie de le faire avec vba mais je suis assez nul
    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 importer()
      Dim F As Worksheet, plg As Range, i, Nb_cols As Integer
        Dim date1 As Integer, date2 As Integer, ligne1 As Integer, ligne2 As Integer, colonne As Integer
        Sheets.Add After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "Evo"
        Sheets("Evo").Activate
        date1 = DateValue(TextBox1.Text)
        date2 = DateValue(TextBox2.Value)
        Set F = ThisWorkbook.Sheets("Temp")
        i = 1
      Do While (date1 <= DateValue(F.Cells(i, 7).Value) <= date2) And (F.Cells(i, 7).Value <> "")
        Range("A1:G94").Select
        Selection.Copy
        Sheets("Feuil5").Select
        ActiveSheet.Paste
        i = i + 1
      Loop

  4. #4
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Pour le code c'est comme cela ! (cf règles du forum)


    Sinon tenter d'abord un filtre normal manuellement.

    Une fois que c'est acquis, annuler le filtre - rétablir les données à l'origine - puis utiliser
    l'Enregistreur de macros et refaire le filtre en manuel, une base de code est livrée sur un plateau !

    Ensuite, voici un exemple (ligne n°4) pour copier des données filtrées …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  5. #5
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    92
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 92
    Points : 75
    Points
    75
    Par défaut
    Je crois qu'on ne s'est pas bien compris
    je sais trier les dates ce que je ne sais pas faire c'est prendre toutes les lignes que je veux et les copier dans ma nouvelle feuille
    voici le code que j'ai fais
    Code Vba : 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
    Private Sub importer()
        Dim F As Worksheet, plg As Range, i, Nb_cols As Integer, N1 As Date, N2 As Date, N3 As Date
        Dim date1 As Integer, date2 As Integer, date3 As Integer
        Sheets.Add After:=Sheets(Sheets.Count)
        Sheets(Sheets.Count).Name = "Evo"
        Sheets.Activate ("Evo")
        N1 = TextBox1.Text
        N2 = TextBox2.Value
        date1 = Day(N1) + Month(N1) * 100 + (Year(N1) Mod 2000) * 1000
        date2 = Day(N2) + Month(N2) * 100 + (Year(N2) Mod 2000) * 1000
        Set F = ThisWorkbook.Sheets("Temp")
        i = 1
      Do
         N3 = F.Cells(i, 7).Value
        date3 = Day(N3) + Month(N3) * 100 + (Year(N3) Mod 2000) * 1000
        While (date1 <= date3 <= date2) And (F.Cells(i, 7).Value <> "")
        Sheets("Evo") = Range(F.Cells(i, 1), F.Cells(i, 6)) ' Je coince là!!! comment copier les lignes que je veux vers ma nouvelle feuille
        i = i + 1
      Wend
      Loop
     
    End Sub

  6. #6
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

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

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Ai-je seulement évoqué un tri ?‼

    Un filtre n'a rien à voir avec un tri et correspond bien au besoin, surtout qu'un code n'est même pas nécessaire !
    Et pourtant j'ai même fourni un exemple en lien …
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

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

Discussions similaires

  1. Ajout des données avec une condition
    Par jean sami dans le forum SQL
    Réponses: 2
    Dernier message: 15/09/2008, 06h21
  2. importation des données vers une BDD Mysql
    Par moabomotal dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/12/2006, 21h03
  3. Importer des données d'une feuille Excel vers TABLE
    Par souminet dans le forum Bases de données
    Réponses: 1
    Dernier message: 07/11/2006, 09h10
  4. [format des données avec une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 7
    Dernier message: 10/03/2005, 13h24
  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