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 :

indiquer une valeur dans un MSGBOX


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Par défaut indiquer une valeur dans un MSGBOX
    Bonjour,
    alors voila mon souci,
    dans un tableau , j'ai une colonne "échéance" indiquant les valeurs comme telles: 1 an, 2 mois, 3 jours (en L5); 25 jours (en L6); 3 mois, 20jours (en L7)etc...
    je aimerais qu'un MSGBOX indique le nombre de valeurs de la colonne L qui sont inférieur à 30 jours et indiquant ensuite l'intitulé du contrat relatif à la colonne A (exemple l'intitulé de L6, inférieur à 30 jours, se trouve en A6)

    Quelqu'un pourrait-il m'aider, quelle variable définir...? merci

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    258
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 258
    Par défaut
    J'ai l'impresion qu'il y a 2 questions contradictoires!


    j'aimerais qu'un MSGBOX indique le nombre de valeurs de la colonne L qui sont inférieur à 30 jours
    ca en fait une

    et indiquant ensuite l'intitulé du contrat relatif à la colonne A (exemple l'intitulé de L6, inférieur à 30 jours, se trouve en A6)
    Ca en fait 2

    Q1: Nombre de valeurs?
    Je comprend nombre de fois où il est noté "Inf à 30 jours"
    donc variable N = NB("Inf à 30 jours) de la colonne
    Ou alors passer par une formule excel et récupérer le résultat.

    Puis dans la macro,
    msgbox("Vous avez" & N & "valeurs inf à 30 jours")

    Q2: C'est plus dur car tu demande de renvoyer la cellule de la 1ere colonne si il y a marqué "inf à 30 jours" dans la 12eme colonne.

    Mais s'il y en a plusieures, tu souhaites quoi?

    Je pense qu'il faut plus expliciter ta demande pour etre sur de ce que tu souhaites!

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Par défaut
    pour etre simple
    premièrement que le MSGBOX indique le nombre de cellule dans la colonne L inférieur à 30jours.

  4. #4
    Expert confirmé 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
    Par défaut
    Cette colonne L est calculé ou brut?
    Si tu as la colonne qui contient la date d'échéance se serait plus pratique. Ca permettrait de calculer le nombre de jour en écart entre éhéance et date du jour.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 567
    Détails du profil
    Informations personnelles :
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 567
    Par défaut
    tu ne pourras pas le faire si tes cases sont indiqués en mois année et jour.
    tu pourras le faire su tu te base sur les cellules qui contienne la date d'échéance. ici, je suppose colonne 12 contient cette date et colonne 1 contient le dossier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Sub limite()
    lastline = Cells(1, 12).End(xlDown).Row
    For Each cel In Range(Cells(1, 12), Cells(lastline, 12))
    If cel.Value - Date <= 30 And cel.Value - Date >= 0 Then
    MsgBox "le dossier   " & cel.Offset(0, -11) _
    & " a une échéance inferieure a 30 jours "
    End If
    Next cel
    End Sub

  6. #6
    Expert confirmé 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
    Par défaut
    Si la cellule est calculée, on peut partir sur l'idée que L contient une échéance en jour.
    A toi de modifier comme tu désires

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    dim i as long
    dim compteur as long
     
    do while not range("A" & i).value=vide
     
        if range("L" & i).value>30 then compteur=compteur+1
     
        i=i+1
     
    loop
     
    msgbox "Il y a " & compteur & " factures qui ont une échéance de plus de 30 jours",0,"Titre de la msgbox"

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 37
    Par défaut suite
    ce code est pas mal...
    mais le msgbox indique un par un les dossiers inférieur à la date limite!
    peut on faire en sorte que le MSGBOX s'affiche une fois en indiquant tous les dossiers inférieur à la date limite???

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

Discussions similaires

  1. [XL-2007] inserer une valeur dans msgbox
    Par abrmed dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 06/04/2011, 16h38
  2. [ Struts ] recuperer une valeur dans une url?
    Par njac dans le forum Struts 1
    Réponses: 2
    Dernier message: 02/06/2004, 14h24
  3. Réponses: 3
    Dernier message: 28/01/2004, 14h55
  4. Lire une valeur dans le registre
    Par John.s dans le forum C
    Réponses: 2
    Dernier message: 26/11/2003, 19h55
  5. Prendre une valeur dans la grappe XML
    Par Sandrine75 dans le forum XMLRAD
    Réponses: 7
    Dernier message: 21/05/2003, 10h26

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