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 :

problème avec une liste déroulante


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut problème avec une liste déroulante
    Bonjour à tous,
    j'ai un problème avec ma liste déroulante!Je vous explique!!
    j'ai créée une liste déroulante à l'aide de la boite à outil de contrôle sur une feuille Excel nommée "Couverture". La liste déroulant a sa source dans une autre feuille Excel nommée "Types de projets". J'ai affecté une macro à la liste deroulante pour que lorsq'un utilisateur clic sur un emplacement vide, il y ai un message qui s'affiche mais le problème c'est que le message s'affiche tout le temps quelque soit là ou on clic dans la liste, voila mon code, si vous trouvez l'erreur je vous en serais très reconnaissante! Voila ma macro:

    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
    Sub Macro1()
     Dim i, j As Integer
     Dim newpro As String
    i = 2
    j = 1
    Sheets("Couverture").Select
    If Worksheets(2).Cells(i, j).Value = "" Then
      MsgBox ("Aucun type de projet saisi")
      newpro = InputBox("voulez-vous saisir un nouveau type de projet?oui/non?")
         If newpro = "oui" Then
          MsgBox ("Redirigez-vous vers l'onglet 'Types de Projets' et tapez le nouveau à la suite des autres")
         End If
      i = i + 1
    End If
    End Sub
    Merci à ceux qui se pencherons sur mon problème,
    Bonne journée à tous

  2. #2
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Bonjour,

    Je ne vois pas a quel endroit tu geres le clic car
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Worksheets(2).Cells(i, j).Value
    aura toujours la meme valeur, quelle que soit la cellule selectionnee.

    Essaye peut etre avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim NewPro as integer
    If Sheets("Couverture").ListBox1.Text = "" then
    MsgBox ("Aucun type de projet saisi")
    newpro = Msgbox("voulez-vous saisir un nouveau type de projet?",vbYesNo) 'plus propre qu'une inputbox
    If NewPro = vbYes then
    MsgBox ("Redirigez-vous vers l'onglet 'Types de Projets' et tapez le nouveau à la suite des autres")
    End If
    End If
    Ceci dis je ne suis vraiment pas sur d'avoir compris ton probleme donc dis si je reponds a cote...

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    Merci pour ton aide, c'est justement le clic que je n'arrive pas à gérer, la synthaxe
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets("Couverture").ListBox1.Text = ""
    il me met un message d'erruer comme quoi la propriété n'est pas géré par l'objet.

    Est-ce que tu saurais comment je peux réussir à récupérer la valeur de la ligne selectionné dans la liste?
    Merci encore de ton aide
    bonne journée

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Tu as cree une liste (objet ListBox) ou une liste deroulante (objet ComboBox) ? Comment l'as tu appellee ?
    Dans quelle procedure tu mets ton code ? Si c'est dans macro1 le probleme vient probablement de la, il faut mettre le programme dans la procedure associee a l'evenement click de la listbox (en mode design, clic droit sur l'objet -> voir le code).

  5. #5
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    J'ai créée ma liste avec la boite à outil formulaire parce qu'avec une combo box, je n'arrivais pas à stocker les informations saisies pour qu'elles apparaissent dans la liste mais si t'as une solution je ferais avec une ComboBox!!!
    merci d'avance

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    La boite a outils formulaire, tu veux dire dans l'editeur VBA ? Ta ListBox est dans une feuille ou dans un formulaire ?

    Essaye de mettre ca dans le code de ton objet:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Private Sub ListBox1_Click()
    Dim NewPro As Integer
    If Sheets("Sheet1").ListBox1.Text = "" Then
    MsgBox ("Aucun type de projet saisi")
    NewPro = MsgBox("voulez-vous saisir un nouveau type de projet?", vbYesNo) 'plus propre qu'une inputbox
    If NewPro = vbYes Then
    MsgBox ("Redirigez-vous vers l'onglet 'Types de Projets' et tapez le nouveau a la suite des autres")
    End If
    End If
    End Sub

  7. #7
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    Je l'ai faite dans Excel (Affichage->Boite à outil->Formulaire) et je lui affecte une macro.
    Ma liste est dans une feuille Excel, dans l'onglet qui se nomme "Couverture".
    Je te remercie, y a des éléments qui marchent très bien.

  8. #8
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Euh quels elements ? Parce que j'ai essaye avec une listbox de la boite a outils formulaire et ben ca marche pas... Il faudrait que tu utilises une listbox de la boite a outil controle, c'est beaucoup plus mieux .
    Remplissage avec la propriete "Listfillrange" comme ca tu seras pas depaysee, puis tu double-cliques dessus en mode design et tu copies le code que je t'ai donne, ca devrait marcher parfaitement (sous reserve que les noms soient les memes bien sur )

  9. #9
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    Je met quoi dans la propriété ListFillRange???
    Je suis desolé, je suis pas très calée en Excel-VBA!!!!

  10. #10
    Membre éclairé
    Inscrit en
    Avril 2007
    Messages
    667
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 667
    Points : 870
    Points
    870
    Par défaut
    Pas de probleme, faut bien commencer quelque part
    Dans la propriete ListFillRange tu ecrit =A1:A10 par exemple, suivant ou sont tes valeurs (dans mon exemple, dans les cellules A1 a A10)

  11. #11
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    Ca marche presque bien!!! Il ne me manque plus qu'un truc: Comment je fais quand mes valeurs sont dans une autre feuille Excel mais dans le même classeur. C'est possible de le préciser dans la propriété ListFillRange?

    Ensuite je passerais à un autre problème!!! Si t'en a marre de m'aider, dis le je comprendrais!!!!!!
    Merci encore

  12. #12
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Mai 2007
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2007
    Messages : 65
    Points : 19
    Points
    19
    Par défaut
    C'est bon j'ai réussi à regler mon problème ça marche très bien. Je te remercie encore pour ton aide.
    Passe une bonne journée
    Merci encore

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

Discussions similaires

  1. [MySQL] Problème avec une liste déroulante
    Par nitro97130 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 16/07/2012, 21h07
  2. Réponses: 10
    Dernier message: 09/02/2011, 15h31
  3. Problème avec une liste déroulante
    Par flippaeti dans le forum C#
    Réponses: 1
    Dernier message: 05/06/2009, 19h46
  4. Problème avec une liste déroulante.
    Par kupae dans le forum IHM
    Réponses: 9
    Dernier message: 09/07/2008, 10h12
  5. [Débutant] problème avec une liste déroulante
    Par stan21 dans le forum Access
    Réponses: 3
    Dernier message: 12/07/2006, 14h52

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