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 :

Affichage d'un MSGBox à l'aide d'une condition


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Octobre 2008
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Affichage d'un MSGBox à l'aide d'une condition
    Bonjour,

    Je suis un novice avec le language VBA.

    En effet, j'ai réalisé un tableau excel qui a pour fonctionnement d'ètre rempli au fur et à mesure (ligne par ligne).

    C'est pourquoi afin que l'utilisateur de mon tableau sache dès qu'il ouvre le fichier quelle ligne il est necessaire de remplir, je voudrais créer à l'aide de VBA un message qui indique la ligne a remplir.

    Pour résumer, par exemple si la case C5 est remplit je voudrai que le message indique "veuillez remplir la case C6" et ainsi de suite une foi que la case C6 est remplit je désirerai un message qu'il indique "veuillez remplir la case C7", etc...

    Le problème étant que je ne possède pas vrèment de conaissance sur VBA et je ne trouve pas de réponse à ma question dans d'autre discussion....

    Merci d'avance pour l'aide que vous pourrez m'apportez.....

  2. #2
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    Vois ce ttuto très complet :

    http://fring.developpez.com/vba/excel/msgbox/

    aussi dans les forum du côté dernière cellule non vide, tu trouveras des choses du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    For Each cell In Range(Range("A65536").End(xlUp), Range("A5"))
    .....

    le but étant de trouver la cellule vierge où tu veux te positionner par défaut,de la sélectonner et d'en avertir l'utisateur.

    Tu peux aussi utiliser direct une InputBox qui écrira dans la cellule voulue...

    cordialement,
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  3. #3
    Membre du Club
    Homme Profil pro
    Dessinateur Projeteur
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Dessinateur Projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 46
    Points
    46
    Par défaut
    Bonjout toff7721,

    POur executer une macro au démarrage d'un classeur Excel, il faut utiliser l'évenelent auto_open()

    De cette facon tu construite ta macro dans un module.

    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
     
    Sub auto_open()
     
    Dim c as String 'Declaration d'une variable pour récuperer l'adresse 
    de la cellule
     
    c = Range("A1").End(xlDown).Offset(1, 0).Address 
    'A1 étant la première cellule 
    'rempli et Offset(1,0) exprime un decalage d'une cellule vers le bas à partir 
    'de la dernière cellule plein End(xlDown), c'est à dire la cellule que tu 
    'cherches !
     
    Msgbox "La prochaine cellule à remplir est " & c, vbinformation+vbOkonly
    'Boite de message pour informer la cellule à remplir avec la mise en forme qui 
    'l'accompagne, c'est à dire l'image du point d'exclamation et du bouton OK seul
     
    End sub
    De cette facon tu auras à l'ouverture du classeur un Message Box qui t'indiquera la cellule à remplir.

    Bonne journée

  4. #4
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 696
    Points
    6 696
    Par défaut
    Bonjour,

    Euh.... voir plutot du côté de l'évènement "Workbook_Open" de ThisWorkbook sauf en cas de maîtrise de la chose et d'un choix délibéré.

    Auto_Open est une instructin ancienne qui était appellée à disparaître et dont Microsoft n'encourageait plus l'emploi pour des raisons de maintenance

    A noter que leur actions respectives diffèrent aussi selon le mode d'activation du classeur..

    cordialement,

    Didier
    Didier Gonard

    Dernier tutoriel :
    Le VBA qu'est ce que c'est ?
    Tutoriels : Voir la liste de mes tutoriels Excel & VBA et mon site pro sur ma Page DVP
    Cours et tutoriels pour apprendre Excel
    N'oubliez pas de mettre : ..quand c'est le cas !

  5. #5
    Membre du Club
    Homme Profil pro
    Dessinateur Projeteur
    Inscrit en
    Avril 2006
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Dessinateur Projeteur
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2006
    Messages : 38
    Points : 46
    Points
    46
    Par défaut
    Ok, merci pour l'information

    Donc je corrige mon code.

    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
     
    Sub Workbook_Open ()
     
    Dim c as String 'Declaration d'une variable pour récuperer l'adresse 
    de la cellule
     
    Sheets(1).Activate 'Activation de la première feuille
     
    c = Range("A1").End(xlDown).Offset(1, 0).Address 
    'A1 étant la première cellule 
    'rempli et Offset(1,0) exprime un decalage d'une cellule vers le bas à partir 
    'de la dernière cellule plein End(xlDown), c'est à dire la cellule que tu 
    'cherches !
     
    Msgbox "La prochaine cellule à remplir est " & c, vbinformation+vbOkonly
    'Boite de message pour informer la cellule à remplir avec la mise en forme qui 
    'l'accompagne, c'est à dire l'image du point d'exclamation et du bouton OK seul
     
    End sub
    C'est plus coherent, non ?

  6. #6
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    petite précision complémentaire, la procédure événementielle est à insérer dans le module ThisWorkbook et pas dans un module standard et l'événement Open est une Private Sub.
    Code à placer dans le module ThisWorkbook : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
        MsgBox "Veuillez remplir la cellule " & Sheets(1).Cells(Rows.Count, 3).End(xlUp)(2).Address(0, 0) & " de la feuille " & Sheets(1).Name, vbInformation
    End Sub
    LES FAQ OFFICE - LES COURS OFFICE - LES COURS EXCEL - LES LIVRES OFFICE - SOURCES VBA - ATELIER BRICOLAGE VBA

    Lorsque votre problème est solutionné, pensez à le signaler en cliquant sur le bouton au bas de la discussion.

Discussions similaires

  1. [XL-2010] Affichage d'un Msgbox en fonction d'une plage de cellules complétées
    Par thomasdu40 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/06/2013, 08h18
  2. [XL-2007] Aide sur une condition
    Par Nickname dans le forum Excel
    Réponses: 9
    Dernier message: 21/08/2009, 10h00
  3. Réponses: 6
    Dernier message: 01/06/2007, 10h13
  4. Choix d'une fonction a l'aide d'une condition
    Par N-kira dans le forum Général Python
    Réponses: 3
    Dernier message: 29/05/2007, 17h27
  5. Réponses: 3
    Dernier message: 05/02/2007, 15h05

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