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 :

Etablir une liste dans une feuille selon un critère de date


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    animateur prévention
    Inscrit en
    Septembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : animateur prévention

    Informations forums :
    Inscription : Septembre 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Etablir une liste dans une feuille selon un critère de date
    Bonjour,

    J'ai un programme qui fonctionne bien, et je voudrais le modifier.
    J'ai un tableau reprenant le nom de personne ayant subi une formation avec les dates de ces formations. Maintenant je voudrais voir celle qui n'ont pas de date donc les cases vides.
    Que dois-je écrire à la place de "date" dans mon programme pour avoir la liste des gens qui ne sont pas programmé à une formation. Merci d'avance.

    Voilà mon programme :

    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
    Public Sub RECHERCHE()
     
    Dim i, j, k As Integer
    Dim Echeance, Today, Date_Formation As Date
     
    Today = Date
    Echeance = DateAdd("m", 1, Today)
    k = 2
     
    Worksheets("RESULTAT").Range("A2:C100").Select
    Selection.ClearContents
     
    For i = 2 To 500
        For j = 4 To 50
            If Not IsEmpty(Worksheets("LILLE").Cells(i, j).Value) Then
            Date_Formation = Worksheets("LILLE").Cells(i, j).Value
                If Date_Formation <= Echeance Then
                        Worksheets("RESULTAT").Cells(k, 1).Value = Worksheets("LILLE").Cells(i, 1).Value
                        Worksheets("RESULTAT").Cells(k, 2).Value = Worksheets("LILLE").Cells(1, j).Value
                        Worksheets("RESULTAT").Cells(k, 3).Value = Date_Formation
                        k = k + 1
                End If
            End If
        Next j
    Next i
    End Sub

  2. #2
    Candidat au Club
    Femme Profil pro
    animateur prévention
    Inscrit en
    Septembre 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : animateur prévention

    Informations forums :
    Inscription : Septembre 2011
    Messages : 6
    Points : 4
    Points
    4
    Par défaut Merci
    Pour la mise en page, je suis désolée, je ne connais absolument comment faire une mise en page sur le forum.

  3. #3
    Expert éminent Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Points : 9 402
    Points
    9 402
    Par défaut
    Bonjour,

    Pour commencer, il faut savoir que quand tu déclares tes variables comme cela
    seul k en integer, i et j sont de type Variant car non typée
    Faire comme cela
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim i as Integer, j as Integer, k As Integer
    -----------------------------------------------------------------------

    Que dois-je écrire à la place de "date" dans mon programme pour avoir la liste des gens qui ne sont pas programmé à une formation. Merci d'avance.
    Je présume que si une personne n'a pas de date, la cellule est vide
    je commencerais par déclarer la variable Date_Formation en String au lieu de Date. Cela permettra l'affectation d'une chaine vide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim Date_Formation  as String
    Si Worksheets("LILLE").Cells(i, j).Value est vide alors la recherche se fera sur les personnes sans formation

    A toi de nous dire si cela fonctionne

Discussions similaires

  1. quand je selectionne une valeur dans une liste, retourne une autre valeur
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/12/2008, 14h23
  2. [débutant] Comment gérer une liste dans une liste
    Par Lenoiche dans le forum iReport
    Réponses: 0
    Dernier message: 16/07/2008, 10h41
  3. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  4. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48
  5. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/06/2007, 10h56

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