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 :

Faire apparaître une popup alerte stock


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2017
    Messages : 30
    Points : 20
    Points
    20
    Par défaut Faire apparaître une popup alerte stock
    Bonjour,

    Je cherche à créer popup alerte stock lorsqu'un produit arrive au seuil critique déterminé dans "Etat des stocks"
    A partir d'une mise en forme conditionnelle la cellule se remplie de rouge. A partir de ce critère je pensais pour créer une popup en VBA avec un if en indiquant que si la cellule passe au rouge une popup apparaît en indiquant "Produit à commander".
    Voici le fichier:
    Gestion-de-stocks-Excel-gratuit-1.xlsm

    Il y a peut-être plus simple.

    Qu'en pensez-vous ?


    Merci d'avance

  2. #2
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par jeramej Voir le message
    A partir d'une mise en forme conditionnelle la cellule se remplie de rouge. A partir de ce critère je pensais pour créer une popup en VBA avec un if en indiquant que si la cellule passe au rouge une popup apparaît en indiquant "Produit à commander".
    Comme beaucoup de participants à ce forum, je n'ouvre pas les fichiers joints, entre autre pour les raisons expliquées ici : https://www.developpez.net/forums/d8...s-discussions/

    Un remplissage obtenu par une MFC n'influe pas sur la propriété Interior qui conserve les paramètres de mise en forme forcés.
    Pour avoir la couleur obtenue par une MFC, il faut passer par la propriété DisplayFormat.
    https://msdn.microsoft.com/fr-fr/lib.../ff838814.aspx

    Qu'en pensez-vous ?
    Je pense que faire un popup est une mauvaise idée qui ne fait pas très pro.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  3. #3
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Bonjour le fil, bonjour le forum,

    DisplayFormat !... Ha je me marre. Les galères que ça m'aurait évitées... Je me permet une petite question au Maître : Ça existe depuis longtemps ce DisplayFormat ?
    À plus,

    Thauthème

    Je suis Charlie

  4. #4
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Au moins depuis aussi longtemps que je pratique le VBA.
    Je suppose (sans certitude) que ça existe depuis aussi longtemps que les MFC.

    Quand j'ai commencé le VBA (j'avais déjà utilisé plusieurs autres langage avant), la première chose que j'ai fait après avoir compris le principe général, c'est de lire TOUTE la liste des membres de Range, Worksheet, Workbook et Application.
    Cette petite heure de travail m'a été extrêmement utile pour la suite.
    Je n'ai pas tout retenu, bien sûr, mais ça m'a permis au moins de savoir que certaines choses existent.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  5. #5
    Membre émérite Avatar de Thautheme
    Homme Profil pro
    salarié
    Inscrit en
    Août 2014
    Messages
    1 373
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : salarié

    Informations forums :
    Inscription : Août 2014
    Messages : 1 373
    Points : 2 594
    Points
    2 594
    Par défaut
    Re,

    Alors permet-moi de parodier Brassens pour te dire : "Le temps ne fait rien a l'affaire, quand on est bon, on est bon !"... Merci !
    À plus,

    Thauthème

    Je suis Charlie

  6. #6
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    Bonjour
    perso pour maitriser un msgbox d'alerte je me firais pas a la mfc mais la valeur de la cellules , rien de plus simple dans l'evenement change du sheets
    et puis une mfc n'est elle pas la pour nous indiquer visuellement quelque chose deja ????
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  7. #7
    Expert éminent sénior Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    rien de plus simple dans l'evenement change du sheets
    Sauf si la modification se fait sans saisie, comme la comparaison d'une date à la date actuelle.

    Et si l'évènement déclencheur est une saisie, alors autant passer par une validation de donnée qui, elle aussi, peut afficher un popup.
    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion.

  8. #8
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonjour menhir

    Sauf si la modification se fait sans saisie
    j'ai des fichiers chez moi utilisant des formules pour les dates qui calcule la datediff par raport a d'autre cellules qui sont alimentées par vba
    et l'evenement change est declenché sur ces cellules avec formule
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  9. #9
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Citation Envoyé par patricktoulon Voir le message
    [...]et l'evenement change est declenché sur ces cellules avec formule
    C'est que Change est levé par autre chose que le recalcul => https://docs.microsoft.com/en-us/off...rksheet.change

    This event does not occur when cells change during a recalculation. Use the Calculate event to trap a sheet recalculation
    Citation Envoyé par patricktoulon Voir le message
    [...]d'autre cellules qui sont alimentées par vba[...]
    Changer la valeur d'une cellule par VBA revient à saisir une nouvelle donnée dans cette cellule ==>> worksheet_Change est donc levé. Attention que la validation posée sur une cellule n'est pas testée pour les cellules modifiées par VBA et ne vaut que pour la saisie manuelle (en excluant également le collage, quel qu'il soit)
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  10. #10
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    ok pierre vu et testé

    j'ai cru comprendre que l'on pouvait intercepter par le calculate

    comment fait-on pour déterminer quelle cellule a été modifiée par le calcul ? L’événement n'a pas d'argument
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Worksheet_Calculate()
    '.....
    End Sub
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  11. #11
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Quelle cellule?

    Perso, j'écrirais "quelleS celluleS"...

    Si tu as un tableau de 100000 lignes avec une colonne qui calcule l'écart de chaque ligne par rapport à la moyenne, modifier la valeur d'une ligne implique d'en recalculer 100000...


    Jamais eu besoin de savoir cela depuis plus de 20 ans que je travaille avec Excel
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  12. #12
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    oui au fond mieux vaut que je garde mon evenement change déclenché par la modif d'une cellules par vba et verif du resultat de la cellule avec formule sur la meme ligne
    pourquoi je me casse la tete
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  13. #13
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2017
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Merci à tous pour votre aide.

    C'est juste pour un fichier perso donc pro ou pas ce n'est pas grave.
    Mon classeur se compose de plusieurs feuilles, mes entrées/sorties sur une, ma gestion de stock sur une autre ("ETAT DES STOCKS").
    J'ai mis en place sur cette dernière une mfc car suivant les produits ce n'est pas la même alerte stock. Pour certains ça va être 20, d'autres 5....


    Le code ci-dessous ne fonctionne pas avec une instruction MsgBox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sheets("ETAT DES STOCKS").Select
    DerniereLigne = Range("B500").End(xlUp).Row
     
    For k = 6 To DerniereLigne
     
        Sheets("ETAT DES STOCKS").Select
        If Sheets("ETAT DES STOCKS").Cells(k, 6).Interior.ColorIndex = 255 Then
        MsgBox "Produit à commander", vbCritical
     
        End If
    Next k
    Par contre comme ça, ça marche ??
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sheets("ETAT DES STOCKS").Select
    DerniereLigne = Range("B500").End(xlUp).Row
     
    For k = 6 To DerniereLigne
     
        Sheets("ETAT DES STOCKS").Select
        If Sheets("ETAT DES STOCKS").Cells(k, 6).Interior.ColorIndex = 255 Then
        Range("H9") = "aaaa"
        Else
        Range("H9") = "zzzzz"
        End If
     
    Next k

  14. #14
    Membre à l'essai
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Septembre 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Mayenne (Pays de la Loire)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2017
    Messages : 30
    Points : 20
    Points
    20
    Par défaut
    Re,

    Du coup j'ai apporté une modification. J'ai rajouté une colonne stock mini en G.
    J'ai donc créé cette macro:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sheets("ETAT DES STOCKS").Select
    DerniereLigne = Range("B500").End(xlUp).Row
     
    For k = 6 To DerniereLigne
     
        Sheets("ETAT DES STOCKS").Select
        If Sheets("ETAT DES STOCKS").Cells(k, 6).Value <= Sheets("ETAT DES STOCKS").Cells(k, 7).Value Then
        designation = Cells(k, 2)
        MsgBox "Produit ( " & designation & " ) à commander", vbCritical
     
        End If
     
    Next k
    Mon souci est que mon message d'alerte ne s'affiche lorsque mon stock atteint le stock mini. Est-il possible de faire apparaître des popup en instantané ?
    Mon autre souci est que mon tableau contient des lignes vides est du coup la macro m'affiche les popup aussi. J'ai mis une quantité de 100 pour éviter d'avoir les messages mais il y a certainement une instruction à insérer pour rectifier ça. Avez-vous une idée ?

    Sinon à l'ouverture du fichier les popups s'affichent bien.

    J'avance petit à petit...


    A bientôt

  15. #15
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour perso avec x lignes j'afficherai un seul msgbox
    dans ton model si tu a 300 lignes vides tu aura 300 msgbox

    avec celui ci tu aura un seul msgbox avec toutes les lignes a commander
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim mess$
    With Sheets("ETAT DES STOCKS")
        DerniereLigne = .Range("B" & .Rows.Count).End(xlUp).Row
        For k = 6 To DerniereLigne
            If .Cells(k, 6).Value <> "" And .Cells(k, 6).Value <= .Cells(k, 7).Value Then
                  mess = mess & "Produit ( " & .Cells(k, 2) & " ) à commander"
            End If
        Next k
    End With
    MsgBox mess, vbCritical
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  16. #16
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Salut.

    Tout cela peut se faire sans vba avec de la MFC et un filtre, sur base d'une bonne conception de classeur. J'ai l'impression qu'on va encore avoir une usine à gaz pour pas grand-chose. Le fait que les seuils soient différents pour chaque produit n'est pas un problème et se gère grâce à une bonne conception de classeur, notamment en utilisant les tableaux structurés.

    Ce n'est pas une critique de ce que Patrick propose, mais je pense que si on avait dès le début ce que tu souhaites réaliser, on gagnerait du temps.

    @Patrick: Au passage, je n'ai pas lu qu'il y avait une demande d'obtenir la liste des articles à commander. Et à nouveau, si c'est le cas, une bonne conception permettrait de filtrer les articles dans le tableau des signalétiques d'articles.

    Si vraiment on veut mettre une alerte pas msg (je rejoins Menhir sur le fait que ce n'est pas pro, selon mes critères), on pourra toujours l'ajouter par la suite, et sans VBA avec de la validation de données.

    Dans le fichier suivant, si tu saisis en ligne 13 la vente d'une tablette C001, tu n'as pas d'alerte, mais si tu saisis une vente de 2 tablettes, tu as un message d'alerte. La feuille de stock renseigne en temps réel l'état du stock et la qté à recommander, un simple filtre suffisant pour n'afficher que les articles à recommander (ce qui me semble-t-il plus pro qu'un msgbox reprenant toutes les lignes) ... Tout cela sans VBA, juste les outils natifs et de la conception.

    Tout ceci illustre une fois de plus les troisième et dernière lignes de ma signature...
    Fichiers attachés Fichiers attachés
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  17. #17
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    Bonjour pierre
    oui c'est sur qu'une MFC donne un visuel direct ,faut il que le sheets concerné soit le sheets actif au demarrage
    le demandeur veut un msgbox je lui donne un msgbox (un seul)
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  18. #18
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Si ce n'est que cela, on affiche la feuille de stock au démarrage.

    je suis d'accord que jeramej veut un msgbox, mais au départ, c'était lors de la saisie d'un mouvement, si j'ai bien compris la demande initiale. Et si vraiment on veut un msgbox à l'ouverture (perso, je trouve ça agressif, mais chacun ses choix ergonomiques), il ne me semble pas génial d'afficher dedans les lignes à recommander, car cela ne sert en pratique à rien, vu qu'on aura perdu l'info dès le clic pour fermer le msgbox. je préfèrerais alors un msgbox qui alerte qu'il y a au moins un article à recommander, puis l'affichage de la feuille de stock avec le filtre actif sur les lignes à recommander.

    Et tu me connais assez pour savoir qu'entre la demande initiale, parfois formulée par méconnaissance des outils, et la réalisation finale, il y a régulièrement un écart important. Au passage, il me semble, mais je n'ai pas testé, qu'il manque l'ajout d'un retour à la ligne dans le texte du message qui sera produit, dans le code que tu as fourni.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

  19. #19
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re
    oui c'est vrai il manque le " & vbcrlf"

    et oui c'est vrai c'est au changement de valeur
    mais imagine qu'il travaille sur une autre feuille ( de vente par exemple) ou un userform plein ecran dont le code de la feuille ou de l'userform modifierait cette feuille stock
    une MFC serait alors inutile puisque le sheets stock serait non visible
    bref un msgbox (pas pro) peut etre mais dans certains cas je vois mal autre chose afin d'avertir l'utilisateur surtout qu'un msgbox peut etre bloquant obligeant ainsi l'utilisateur a cliquer sur le msgbox donc prendre connaissance du fait et d'en tenir compte dans l'utilsation du fichier
    meme si on garderait la MFC pour avoir un visuel quand le stock est le sheets actif avec un bouton pourquoi pas "commander"
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  20. #20
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 122
    Points : 55 949
    Points
    55 949
    Billets dans le blog
    131
    Par défaut
    Ben oui, il manque le vbcrlf -> donc tu n'as pas testé (sur un nombre de lignes suffisamment important pour te rendre compte que sur l'aspect ergonomique, c'était un peu bof bof...)

    C'est vrai que s'il copie/colle un millier de lignes dans sa feuille de mouvements, ça va être sympa de cliquer sur mille msgbox...

    Citation Envoyé par patricktoulon Voir le message
    [...]une MFC serait alors inutile puisque le sheets stock serait non visible[...]
    Tu as ouvert le fichier que j'ai mis en lien? Il affiche une alerte si on a un problème de stock lors de la saisie d'un mouvement... (demande initiale, au passage).

    Bref: Conception, réflexion, programmation "trois tiers" (inutile en plus ici en utilisant les outils natifs), responsabilité d'une fonction/procédure, ... plutôt que de coder à tout va sans utiliser Excel... chacun son truc

    On en revient toujours aux fondamentaux, en fait.
    "Plus les hommes seront éclairés, plus ils seront libres" (Voltaire)
    ---------------
    Mes billets de blog sur DVP
    Mes remarques et critiques sont purement techniques. Ne les prenez jamais pour des attaques personnelles...
    Pensez à utiliser les tableaux structurés. Ils vous simplifieront la vie, tant en Excel qu'en VBA ==> mon tuto
    Le VBA ne palliera jamais une mauvaise conception de classeur ou un manque de connaissances des outils natifs d'Excel...
    Ce ne sont pas des bonnes pratiques parce que ce sont les miennes, ce sont les miennes parce que ce sont des bonnes pratiques
    VBA pour Excel? Pensez D'ABORD en EXCEL avant de penser en VBA...
    ---------------

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Faire apparaître une image/popup
    Par laurentSc dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 23/06/2013, 19h19
  2. [PHP-JS] Faire apparaître une fenêtre d'alerte
    Par -Neo- dans le forum Langage
    Réponses: 7
    Dernier message: 03/07/2007, 14h41
  3. Réponses: 1
    Dernier message: 22/11/2005, 11h00
  4. Faire apparaître une valeur inexistante en DB
    Par CyBeRoN dans le forum Langage SQL
    Réponses: 18
    Dernier message: 09/11/2005, 16h05
  5. [Stratégie] Erreurs: faire apparaître une fenêtre
    Par seb.ch dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 04/08/2005, 15h08

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