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 :

Msgbox et comparaison de valeurs [XL-2007]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Par défaut Msgbox et comparaison de valeurs
    Bonsoir,

    Je travaille sur un classeur (composé de plusieurs feuilles) dans lequel j'ai une colonne dont les cellules sont remplies de données numériques, une autre avec les seuils fixés pour ces valeurs, et une dernière indiquant les noms des éléments mesurés.

    Je souhaiterais afficher une seule Msgbox à la fin de l'exécution de la macro permettant de récupérer les données, informant l'utilisateur d'éventuels dépassements de seuils, quels éléments ces dépassements concernent, et la quantité mesurée par rapport au seuil fixé.

    Enfin, dans le cas où aucun dépassement n'aurait eu lieu, une autre Msgbox, différente, informant de la conformité globale des valeurs.

    Ci-joint, un exemple de fichier, avec une précision assez importante.

    Pensez-vous ceci possible ? Si tout n'étais pas clair, n'hésitez pas à m'en faire part !

    Merci d'avance.

  2. #2
    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
    Bonjour m@tix,

    Tu pourrais aussi tout afficher dans une seule msgbox

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    MsgBox "Fin du traitement des données :" & vbCrLf & vbLf & _
        "   - T1 => OK" & vbLf & _
        "   - T2 => Dépassement Seuil " & Range("A1").Value & vbLf & _
        "   - T3 => OK"

  3. #3
    Membre éclairé Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Par défaut
    Bonjour jfontaine,

    Merci pour ta réponse. En fait, mes données se répartissant en réalité sur une dizaine de feuilles, j'en ai un nombre bien trop important pour me permettre de toutes les afficher sur une msgbox. Donc j'insiste, j'aimerais bien, si possible, séparer les deux cas..

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    utilise une variable string dans laquelle tu prépare ton message ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    dim stMess as string 
    (...)
    ' Si dépassement :
    stMess = stMess & " Dépassement variable XXXX :   YYYY > ZZZ " & vbCrLf
    '....
     
    (...)
    'Au final
    if stMess = "" then
       msgBox "OK"
    else
       msgBox stMess,VbCritical
    endif

  5. #5
    Membre éclairé Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Par défaut
    Ok, ça me semble jouable avec tes indications bbil, merci !
    Par contre, je cale toujours concernant le code pour justement comparer toutes les valeurs aux seuils fixés, de par la mise en forme du fichier.. D'ailleurs, je joins à ce message une mise en forme vraiment fidèle, que le premier fichier ne suivait pas.

    Fichier joint dans vos discussions

  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
    ce n'est pas se rendre la vie facile que de fusionner des cellules si on veut les utiliser en VBA ensuite

  7. #7
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Citation Envoyé par m@tix Voir le message
    Ok, ça me semble jouable avec tes indications bbil, merci !
    Par contre, je cale toujours concernant le code pour justement comparer toutes les valeurs aux seuils fixés, ..
    Dis nous comment sont organisé tes données.. tu parle d'une colonne valeur, une colonne seuils une colonne nom ...et de plusieurs feuilles... cela veut dire quoi ..? que les colonnes ne sont pas dans la même feuille .?

  8. #8
    Membre éclairé Avatar de m@tix
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 304
    Par défaut
    Citation Envoyé par jfontaine Voir le message
    ce n'est pas se rendre la vie facile que de fusionner des cellules si on veut les utiliser en VBA ensuite
    J'y étais obligé pour respecter une certaine mise en forme. C'est un paramètre que je dois absolument conserver, même si je sais que ça ne rend pas les choses aisées en effet..

    Citation Envoyé par bbil Voir le message
    Dis nous comment sont organisé tes données.. tu parle d'une colonne valeur, une colonne seuils une colonne nom ...et de plusieurs feuilles... cela veut dire quoi ..? que les colonnes ne sont pas dans la même feuille .?
    Je viens de joindre un classeur à mon dernier message. Je n'ai mis qu'une seule feuille, car les autres sont du même type, donc si vous me montrez pour une, je pense pouvoir y parvenir avec les autres non ?
    Au passage bbil, si je suis ton code de tout à l'heure, stMess ne sera jamais vide non ? Il y aura toujours au minimum " Dépassement variable XXXX....", et du coup on ne rentrera jamais dans la condition if stMess = "" .

  9. #9
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    un peu d'effort de description ..

    Je n'ouvre pas les fichiers joints..

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

Discussions similaires

  1. [VBA] MsgBox pour entrer une valeur
    Par Pitou5464 dans le forum Access
    Réponses: 3
    Dernier message: 22/08/2006, 16h19
  2. GTK+ comparaison entier valeur du pointeur
    Par Emyleet dans le forum GTK+ avec C & C++
    Réponses: 10
    Dernier message: 21/07/2006, 15h28
  3. comparaison de valeur sur un résultat de requete
    Par griese dans le forum Langage
    Réponses: 5
    Dernier message: 28/06/2006, 15h23
  4. comparaison de valeurs
    Par Flobynaldo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/05/2006, 16h56
  5. Comparaison de valeurs stockees dans un meme champ
    Par Tartenpion dans le forum Langage SQL
    Réponses: 4
    Dernier message: 15/02/2006, 21h33

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