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 :

lancement d'un popup quand on renseigne une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut lancement d'un popup quand on renseigne une cellule
    bonjour à tous,
    je vous explique mon pb : j'ai une feuille excel dans laquelle j'ai des cellules de type liste déroulante et suivant la valeur de la liste choisi, j'aimerai un popup qui m'indique un msg différent.
    exemple : j'ai une cellule où la liste déroulante est "nombre,texte,oui/non". j'aimerai que si on choisit "nombre", il y est un popup avec un certain msg, si on choisit "texte", il y est un popup avec un autre msg.

    est-ce possible par VBA?
    merci pour vos réponses

  2. #2
    Expert éminent sénior


    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
    Points : 20 040
    Points
    20 040
    Par défaut
    c'est possible mais il va falloir nous en dire plus .. ! comment à tu créé ta liste de choix.. ( barre de tâche contrôle, Formulaire ..?) comment .. la rempli tu ..? à partir d'une zone dans feuille calcul.....? comment récupére tu le résultat..?..

    aprés .. à parti du résultat .. si c'est un "nombre" par exemple.. tu peu t'en servir .. pour déterminer ton message... dans la macro change associé à ton contrôle...

  3. #3
    Membre du Club Avatar de vovor
    Inscrit en
    Avril 2005
    Messages
    119
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 119
    Points : 59
    Points
    59
    Par défaut
    tu fais une macro sur ta feuile de calcul, de type change

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        If Target.Address = "A1" Then 'ta cellule cible'
              if Target = "nombre" then msgbox "blabla1"
    ....
    ca marche peut etre...

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    alors en fait, ma liste est faite à partir de "données/validation". j'ai sélectionner "liste déroulante" et pour mes différentes valeurs, je les ai directement saisie dans le champs "source".

    A l'aide d'un développeur de ma boite, j'ai fait un script qui me permet d'avoir le popup quand j'essai de sortir de la feuille.

    je vous donne le 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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    Private Sub Worksheet_DeActivate()
     
    lig = 3
     
    While Sheets("feuille1").Cells(lig, 2) <> ""
        maValeur = Sheets("feuille1").Cells(lig, "C")
        Set maCell1 = Sheets("feuille1").Cells(lig, "D")
        Set maCell2 = Sheets("feuille1").Cells(lig, "E")
        Set maCell3 = Sheets("feuille1").Cells(lig, "G")
     
        If (maValeur = "Nombre") Then
            If (maCell1.Value = "") Or (maCell2.Value = "") Then
                MsgBox ("Remplir 'Min','Max' et 'Unité' si le type est un nombre")
                Sheets("feuille1").Activate
                Sheets("feuille1").Cells(lig, "C").Select
                End If
        End If
     
        If (maValeur = "Liste") Then
            If (maCell3.Value = "") Then
                MsgBox ("Remplir la colonne 'Liste' si le type est une liste")
                Sheets("feuille1").Activate
                Sheets("feuille1").Cells(lig, "B").Select
            End If
        End If
     
        lig = lig + 1
    Wend
     
    End Sub
    pour aider à comprendre, je vous donne le principe : suivant ce qu'on sélectionne dans la liste déroulante, on doit remplir certaine case dans les colonnes à côté. si une des cases est vide, lorsque l'on sort de la feuille, le popup se lance.

    voilà, j'espère que ça pourra servir à quelqu'un. Est-ce que par hasard, il y aurai peut être quelquechose de plus efficace?

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

Discussions similaires

  1. Macro quand on modifie une cellule
    Par mirmae dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 05/06/2012, 09h32
  2. Réponses: 3
    Dernier message: 03/10/2008, 12h06
  3. renseigner une cellule
    Par will Igetit dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/08/2008, 17h24
  4. Réponses: 1
    Dernier message: 14/05/2007, 14h41
  5. Réponses: 2
    Dernier message: 17/05/2006, 18h19

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