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 :

recuperation de données suivant une date [XL-2003]


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 173
    Points : 75
    Points
    75
    Par défaut recuperation de données suivant une date
    bonjour

    je souhaiterai effectuer la manœuvre suivante

    j'ai 2 feuilles ( feuil1 et feuil2)

    des données s'inscrivent dans la feuille 2 à la suite l'une de l'autre su 2 colonnes la premiere avec du texte et la seconde colonne avec une date le tout depuis un userform

    sur la feuille 1

    j'ai en A3 la date qui se mets à jour toute seule et je souhaiterai que sur cette meme feuille apparraissent à la suite l'une de l'autre les donnée de la feuille 2 qui ont la meme date

    par exemple
    en A17 puis A18 puis A19 et ainsi de suite et ses donnée devront se mettre à jour en fonction de la date en A3

    merci d avance pour votre aide

  2. #2
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Un petit exemple a placer dans le code de la Feuil1

    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
     
    Option Explicit
     
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim CptSrc As Integer, CptDst As Integer
     
        If Target.Address = "$A$3" Then
            Application.ScreenUpdating = False
            Range("A17:A" & Range("A17").End(xlDown).Row).Clear
     
            CptDst = 17
            For CptSrc = 2 To Feuil2.Range("A65536").End(xlUp).Row
              If Feuil2.Range("B" & CptSrc).Value = Target.Value Then
                Range("A" & CptDst).Value = Feuil2.Range("A" & CptSrc).Value
                CptDst = CptDst + 1
              End If
            Next
            Application.ScreenUpdating = True
        End If
    End Sub
    ++
    Minick
    ++
    Minick

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 173
    Points : 75
    Points
    75
    Par défaut
    merci mais cela ne fonctionne pas je m'explique mieu

    sur la feuille 1 j'ai la cellule B3 qui contient une date ( =aujourdhui () ) qui se met à jour en fonction de la date systeme

    dans la feuille 2 j'ai deux colonnes qui se presente comme suit

    A2 un texte et B2 une date chaque fois que j'encode un texte et une date depuis un userform les données s'inscrivent dans la feuille 2

    sur la feuille 1 en cellule B45 jusque B55 j'aimerai faire apparaitre le texte des cellule de la feuille 2 en fonction de la date

    donc vérifier les textes avec les dates qui correspondent avec la date de la feuille 1

    et dès que la date systeme change s'affiche le contenu texte des cellule correspondant au date sinon il y a rien d'ecrit

  4. #4
    Membre confirmé
    Inscrit en
    Décembre 2003
    Messages
    434
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 434
    Points : 547
    Points
    547
    Par défaut
    Salut,

    Essai comme ca, dans le code de Thisworkbook
    Il y aura une mise a jour a chaque calcul du classeur.

    les cibles ont change depuis ton 1er post...

    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
     
    Private Sub Workbook_SheetCalculate()
        Dim CptDst As Integer
     
        Application.EnableEvents = False
        Application.ScreenUpdating = False
     
        CptDst = 45
        Feuil1.Range("B" & CptDst & ":B" & Feuil1.Range("A" & CptDst).End(xlDown).Row).Clear
     
        For CptSrc = 2 To Feuil2.Range("A65536").End(xlUp).Row
          If Feuil2.Range("B" & CptSrc).Value = Feuil1.Range("B3").Value Then
            Feuil1.Range("B" & CptDst).Value = Feuil2.Range("A" & CptSrc).Value
            CptDst = CptDst + 1
          End If
        Next
        Application.ScreenUpdating = True
        Application.EnableEvents = True
    End Sub
    ++
    Minick
    ++
    Minick

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 173
    Points : 75
    Points
    75
    Par défaut
    Magnifique cela fonctionne
    1000X merci

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2009
    Messages
    173
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2009
    Messages : 173
    Points : 75
    Points
    75
    Par défaut
    re

    dans le fichier que je t'ai envoyé précédemment j'ai mis le code ci dessus pour fairre apparaitre les ligne de rapport journalier en fonction de la date et cela fonctionne tres bien

    maintenant je souhaiterais faire la meme chose pour les cellules de la feuille check qui reprendrait les valeur des index journalier en fonction de la date systeme pour avoir une impression journaliere de mon rapport et qui se metterai a jour avec les données encodée depuis le user form 2 sachant que les valeurs source sont inscrites dans des feuilles différentes . ou s il existe une autre méthode pour réaliser une feuille A4 qui mettrait mes données journalière en forme e qui me sauverait uniquement cette feuille avec comme nom " rapport du + date du jour " avaec une new date par jour


    merci pour ton aide

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

Discussions similaires

  1. [XL-2007] Importation de données suivant une date
    Par robby98800 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 19/06/2012, 12h19
  2. 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
  3. [Débutant]comment recuperer l année d'une date
    Par megapacman dans le forum Access
    Réponses: 4
    Dernier message: 05/05/2006, 14h58
  4. [VB.NET] Comment recuperer de donnée sur une autre form?
    Par weelo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/04/2006, 13h47
  5. Réponses: 3
    Dernier message: 28/12/2005, 15h29

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