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 un menu déroulant


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Points : 21
    Points
    21
    Par défaut faire apparaître un menu déroulant
    Bonjour

    J'aimerai faire apparaître un menu déroulant dans une cellule quand une fonction se fini.

    comment je pourrais coder ca?

    merci d'avance

  2. #2
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    Bonjour,

    quand une fonction se fini.
    C'est à dire?
    Alleï Bonjour chez vous!

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    voila une fonction.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    If Target = Worksheets("Feuil1").Cells(39, 5) Then
        If etape1 = oui And etape2 = non And etape3 = non And etape4 = oui And etape5 = oui And etape6 = oui And (etape7 = non Or etape7 = oui) And etape8 = oui And etape9 = non And etape9a = non And etape9b = oui Then
            Worksheets("Feuil1").Cells(40, 2) = "Etape finale"
            Worksheets("Feuil1").Cells(41, 3) = "L'évaporateur est sousdimensionnée. " & etapeF2 & etape11
            Worksheets("Feuil1").Cells(42, 4) = ""
        ElseIf etape1 = oui And etape2 = non And etape3 = non And etape4 = oui And etape5 = oui And etape6 = oui And (etape7 = non Or etape7 = oui) And etape8 = oui And etape9 = non And etape9a = non And etape9b = non Then
            Worksheets("Feuil1").Cells(40, 2) = "Etape 10"
            Worksheets("Feuil1").Cells(41, 3) = "Les température du cycles sont-elles normales?"
            Worksheets("Feuil1").Cells(42, 4) = "Réponse :"
        End If
    End If
    j'aimerai qu'à la cellule (42,5) apparaissent un menu déroulant avant les deux EndIf

  4. #4
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    et quel est l'intéret de le coder?

    tu pourrais betement passer par une "validation list"
    Alleï Bonjour chez vous!

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    enfaite il y a une succession de question et le liste n ser apour toujoru présente. elle sera présente par exempe dans ce cas quie si la question précédente est "Non".

    a moins que l'ont peut faire ca avec la "validation list" comme tu le dis et dans ce cas je ne sais pasle faire.
    tu pourrais expliquer dans ce cas s'il te plait.

  6. #6
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    je vais te dire en simplifié

    si vrai ( donc afficher liste)

    rajoute ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Range("A2").Validation.Add xlValidateList,,,"=$B$1:$B$2"
    "=$B$1:$B$2" correspond a la référence de la liste

    sinon

    rajoute ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Range("A2").Validation.delete
    Alleï Bonjour chez vous!

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    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
    Private Sub Worksheet_Change(ByVal Target As Range)
    
    etape1 = Worksheets("Feuil1").Cells(8, 5)
    
    If Target = Worksheets("Feuil1").Cells(8, 5) Then
        If etape1 = "oui" Then
            Worksheets("Feuil1").Cells(9, 2) = "Etape 2"
            Worksheets("Feuil1").Cells(10, 3) = "L'installation est-elle amortie?"
            Worksheets("Feuil1").Cells(11, 4) = "Réponse :"
        End If
            'Faire aparaître et disparaître le menu déroulant
        If Worksheets("Feuil1").Cells(11, 4) = "Réponse :" Then
            Worksheets("Feuil1").Cells(11, 5).Validation.Add xlValidateList, , , "=$L$23:$L$24"    Else
            Worksheets("Feuil1").Cells(11, 5).Validation.Delete
        End If
    End If
    J'ai fait que a dit mayekeul.

    maintenant g eu erreur 1004 au niveau des lettre en rouge.
    la liste est constituer de "oui" et de "non". quand je mis "oui" sa me marque l'erreur alors quer quand je marque "non" il m'affiche se qu'il veut. le "oui" et le "non" fait aparaitre un phrase directement après avoir sélectionné la réponse.

    comment je peux gérer cette erreur?

  8. #8
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    et comme ça?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    etape1 = Worksheets("Feuil1").Cells(8, 5)
     
    If Target = Worksheets("Feuil1").Cells(8, 5) Then
        If etape1 = "oui" Then
            Worksheets("Feuil1").Cells(9, 2) = "Etape 2"
            Worksheets("Feuil1").Cells(10, 3) = "L'installation est-elle amortie?"
            Worksheets("Feuil1").Cells(11, 4) = "Réponse :"
            Worksheets("Feuil1").Cells(11, 5).Validation.Add xlValidateList, , , "=$L$23:$L$24" 
        Else
            Worksheets("Feuil1").Cells(11, 5).Validation.Delete
        End If
    End If
    Alleï Bonjour chez vous!

  9. #9
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    il a toujours le même bug.

  10. #10
    Membre expérimenté Avatar de mayekeul
    Inscrit en
    Août 2005
    Messages
    1 369
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 1 369
    Points : 1 665
    Points
    1 665
    Par défaut
    bizarre
    ça fonctionne au poil ici

    au pire tu fait ça:

    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
    Private Sub Worksheet_Change(ByVal Target As Range)
     
    etape1 = Worksheets(1).Cells(8, 5)
     
    If Target = Worksheets(1).Cells(8, 5) Then
        If etape1 = "oui" Then
            Worksheets(1).Cells(9, 2) = "Etape 2"
            Worksheets(1).Cells(10, 2) = "L'installation est-elle amortie?"
            Worksheets(1).Cells(11, 4) = "Réponse :"
            Worksheets(1).Cells(11, 5).Validation.Delete
            Worksheets(1).Cells(11, 5).Validation.Add xlValidateList, , , "=$L$23:$L$24"
        Else
            Worksheets(1).Cells(11, 5).Validation.Delete
        End If
    End If
     
    End Sub
    Alleï Bonjour chez vous!

  11. #11
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 47
    Points : 21
    Points
    21
    Par défaut
    Merci comme ca c'est bon ca marche

    Merci pour ton aide !

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

Discussions similaires

  1. Réponses: 8
    Dernier message: 19/08/2013, 17h06
  2. Faire un menu déroulant
    Par mohamed2006 dans le forum Dreamweaver
    Réponses: 4
    Dernier message: 26/02/2007, 14h05
  3. Faire un menu déroulant
    Par alleramiens dans le forum Mise en page CSS
    Réponses: 3
    Dernier message: 27/10/2006, 11h28
  4. Faire apparaître un menu est lent sur IE6
    Par SlashOwnsU dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/09/2006, 17h12
  5. [menu]faire un menu déroulant
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2005, 08h33

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