Liste déroulante semi-automatique Excel

Résolu
ganjaric -  
 ganjaric -
Bonjour,

Voilà mon problème:
J'ai mis en place une liste déroulante sur chaque cellule de la colonne I, avec diférente valeur au choix (10,11,12...)
Je souhaterais que, lorsque je mets une qqconque valeur dans une cellule de la colonne E, le choix de la liste déroulante de la même ligne se met sur la première valeur de la liste (10), tout en ayant la possibilité d'accéder au valeur de la liste.
Merci d'avance pour votre aide.

19 réponses

  1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Alors peut être cette fois, effectivement c'est à priori plus clair:
    http://www.cijoint.fr/cjlink.php?file=cj201101/cijYbtattz.xls
    crdlmnt

    Demandons nous si nous ne sommes pas seuls à comprendre ce que l'on explique?
    1
  2. ganjaric
     
    Non, ce ne sont pas des listes en cascade.
    Je n'ai qu'une liste, et je n'arrive pas à lui faire afficher une valeur selon une condition.
    0
    1. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
       
      et bien tu n'as pas besoin d'une liste si tu fais afficher une valeur selon une condition. Je ne vois pas l'utilité de cette liste. Où bien tu ne donnes pas tous les détails.
      0
  3. ganjaric
     
    J'ai également besoin des autres valeurs, mais par défat, suivant ma condition, je souhaite que la liste affiche la première valeur de celle-ci.
    Je pense être clair dans mes explications.
    0
  4. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  5. Raymond PENTIER Messages postés 58209 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Le mieux serait de nous envoyer ton fichier.

    En effet pour te répondre nous devrons te dire des choses comme
    "Dans la cellule B3 mettre la formule =Feuil1!E3"
    "Dans la plage D2:D30 mettre la formule =SI(E3="";"";D3)"
    donc nous devons connaître avec précision la structure des feuilles du fichier.
    0
  6. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour tous

    ganjaric, est ce quelque chose comme ce modèle que vous cherchez:

    http://www.cijoint.fr/cjlink.php?file=cj201101/cijzngkcY9.xls

    crdlmnt

    0
  7. ganjaric
     
    Merci Vaucluse, mais j'ai du mal à comprendre ça.
    J'ai entré une valeur en E, il ne s'est rien passé.
    Peut-être que c'est ça, mais je n'peux pas dire.

    Pour répondre à Raymond, voici ma liste:

    10 - Matériel Courant
    11 - Sortie Magasin
    14 - Gros Matériel
    15 - Sous-Traitance Fourniture
    16 - Sous-Traitance Prestations
    17 - Sous-Traitance à Paiement Direct
    18 - Sous-Traitance Interne
    30 - Véhicule Interne
    31 - Véhicule Location
    40 - Divers Chantier
    41 - Divers Affaire
    281 - Déplacement
    282 - Mission Réception

    le "10 - Matériel Courant" se situe en I2 de la feuille "Source".
    Dès que je rentre un prix matériel, (toute la colonne E de la feuille "Déboursé"),
    Je souhaiterais que en en colonne I, sur la même ligne que le prix, le choix de la liste se place seul sur "10 - Matériel Courant" mais que j'ai quand même le choix de changer.

    Exemple
    J'entre une valeur en E6 de la feuille déboursé, en I6 de la même feuille (là ou j'ai le choix de la liste), je dois voir apparaitre "10 - matériel Courant" tout seul.
    Je voudrais le faire comme ça, car quand on a des centaines de ligne à taper, et qu'il faut choisir sur chaque ligne, fastidieux. Le plus souvent, c'est du matériel courant.

    Merci par avance.
    0
  8. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Ce qui devrait se passer:
    quand vous entrez une valeur dans le champ E, et que vous sélectionnez en I la cellule sur la même ligne, la liste déroulante s'affiche en débutant avec le code entré en E

    si ça ne fonctionne pas, voyez dans le fichier l'activation des macros.

    je viens de tester directement sur le fichier dans cijoint et ça marche.

    crdlmnt
    0
  9. ganjaric
     
    Effectivement, les macros sont désactivées. Comment faut-il faire pour les activer?
    0
  10. ganjaric
     
    J'ai réussi à activer la macro.
    ça fonctionne, malheureusement, ce n'est pas c'que je veux.
    On est quand même obligé de faire un choix.
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      alors expliquer vous correctement...! on veut bien vous aider mais si on reprend ce que vous disiez un peu plus haut:

      J'ai également besoin des autres valeurs, mais par défat, suivant ma condition, je souhaite que la liste affiche la première valeur de celle-ci.
      Je pense être clair dans mes explications.


      eh bien non! maintenant il ne s'agit plus de la liste mais de la cellule
      est ce que c'est mieux là?
      http://www.cijoint.fr/cjlink.php?file=cj201101/cijs2vJwFj.xls

      ou encore celui ci un peu différent
      http://www.cijoint.fr/cjlink.php?file=cj201101/cijs2vJwFj.xls

      Après je ne sais plus alors, montez un modèle avec ce que vous voulez et placez le sur:
      http://www.cijoint.fr
      bonne chance
      0
  11. Ricky38 Messages postés 5776 Date d'inscription   Statut Contributeur Dernière intervention   1 463
     
    Salut Vaucluse et Raymond,

    ont va peut-être finir par avoir un modèle de son tableau et ainsi ne pas travailler pour rien et à l'aveuglette ;)
    0
  12. ganjaric
     
    Désolé si ça vous énerve, c'est pas le but.
    En tout cas, merci de vous creuser pour moi.

    Voici mon tableau:

    http://www.cijoint.fr/cjlink.php?file=cj201101/cijpYYoxlZ.xls

    Actuellement, dans la colonne I, je suis obligé de cliquer sur la petite flèche de la liste déroulante pour faire un choix.
    Je ne veux pas que cette liste change.
    Simplement, je souhaite que lorsque je rentre un prix dans la colonne E, le choix se mette tout seul sur "10 - Matériel Courant" mais que je puisse quand même le changer avec la petite flèche, si besoin.

    Suis-je clair??
    0
  13. ganjaric
     
    C'est ça oui, merci beaucoup!!
    Avant de fermer ce sujet, j'ai une dernière chose à vous demander.
    Est-il possible que le choix se remette sur une case blanche si je supprime le prix?
    0
  14. ganjaric
     
    Vous avez utilisé une macro ou une formule??
    Je ne vois pas comment vous avez fait ça, je suis épaté...
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Une macro
      clic droit sur onglet et "visualiser le code
      crtdlmnt
      0
  15. ganjaric
     
    C'est du charabia pour moi.
    Je n'veux pas vous monopoliser, mais si je vous demandais ça, c'est parce que je dois faire la même chose avec la liste de la colonne J qui elle, dépendra d'une valeur entrée dans la colonne F.
    Pareil, si c'est possible que le choix de la colonne I repasse en blanc si j'ai rien dans la colonne E, et que le choix de la colonne J repasse en blanc si j'ai rien dans la colonne F ce serait bien.
    0
    1. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
       
      Pour la colonne F avec le résultat en J:
      aller dans le code et remplacer le complètement par celui ci:

      Private Sub Worksheet_Change(ByVal Target As Range)
      On Error Resume Next
      Dim Rw As Long
      If Target.Column = 5 Then
      Rw = Target.Row
      Range("I" & Rw).Select
      ActiveCell.FormulaR1C1 = Range("I2").Value
      End If
      If Target.Column = 6 Then
      Rw = Target.Row
      Range("J" & Rw).Select
      ActiveCell.FormulaR1C1 = Range("J2").Value
      End If
      End Sub

      par contre je ne sais pas pour effacer quand vous effacer la cellule.
      je cherche un peu, je ne promet rien, mais la question est ouverte à d'autre

      crdlmnt
      0
  16. ganjaric
     
    J'ai réussi à utiliser votre macro pour faire la même chose avec la colonne J en fonction de F.

    Voici mon nouveau fichier:

    http://www.cijoint.fr/cjlink.php?file=cj201101/cij4eBC2st.xls

    Maintenant, est-il possible de sélectionner une case blanche en I si je supprime le prix en E?
    0
  17. Raymond PENTIER Messages postés 58209 Date d'inscription   Statut Contributeur Dernière intervention   17 480
     
    Bonjour ganjaric.
    * Je n'ai pas regardé les fichiers contenant une macro.
    Tu as exposé ton problème :
    "J'ai mis en place une liste déroulante sur chaque cellule de la colonne I, avec diférente valeur au choix (10,11,12...). Je souhaterais que, lorsque je mets une qqconque valeur dans une cellule de la colonne E, le choix de la liste déroulante de la même ligne se met sur la première valeur de la liste (10), tout en ayant la possibilité d'accéder au valeur de la liste."
    et tu as précisé au post #9 :
    "Dès que je rentre un prix matériel (toute la colonne E de la feuille "Déboursé"), je souhaiterais que en en colonne I, sur la même ligne que le prix, le choix de la liste se place seul sur "10 - Matériel Courant" mais que j'ai quand même le choix de changer ... Je voudrais le faire comme ça, car quand on a des centaines de ligne à taper, et qu'il faut choisir sur chaque ligne, fastidieux. Le plus souvent, c'est du matériel courant."

    Je serais à ta place, je fais mon choix dans la première cellule (I20 dans ton dernier exemple), en I21 je tape =I20 et je recopie I21 vers le bas.
    Ainsi j'ai partout "10 - Matériel Courant" ... mais je peux changer !


    C'est super facile, extra fiable et méga rapide. Non ?
    0
  18. eriiic Messages postés 24581 Date d'inscription   Statut Contributeur Dernière intervention   7 281
     
    Bonsoir,

    Proposition lègèrement différente (on a ses habitudes :-) ) mais le résultat est le même:
    Private Sub Worksheet_Change(ByVal Target As Range)
        Dim lig As Long
        lig = Target.Row
        Select Case Target.Column
        Case 5
            If Target = "" Then
                Cells(lig, 9) = ""
            ElseIf Cells(lig, 9) = "" Then
                Cells(lig, 9) = [I2]
            End If
        Case 6
            If Target = "" Then
                Cells(lig, 10) = ""
            ElseIf Cells(lig, 10) = "" Then
                Cells(lig, 10) = [J3]
            End If
        End Select
    End Sub
    


    Si on modifie la valeur et qu'un autre choix avait été fait dans la liste déroulante, ce choix reste sélectionné.
    Si tu préfères la remettre au choix par défaut remplace le ElseIf.... par Else tout court

    eric
    0