Amelioration au menu deroulant

Bonjour a tous

Ci joint mon tableur de suivi des finances auquel j'aimerais ajouter deux ameliorations et j'ignore comment faire mais je soupconne que quelqu'un ici saura m'aider

3 points :

1) Je voudrais que lorsque je saisis une valeur dans par exemple Feuille Saisie Cellule C7 cela affiche automatiquement une autre valeur dans une autre cellule par exemple C9 et C10

Pour être plus clair si je saisis Dépôt ou Retrait comme valeur dans C7 je voudrais que s’affiche automatiquement la valeur NA dans C9, C10,F8,F9,F10

2) Je voudrais que le contenu de la liste déroulante FOURNISSEUR ( Feuille Saisie Cellule F7 )s’enrichisse a chaque fois que je saisi une nouvelle valeur

Ainsi , par exemple dans la catégorie fournisseur Cellule F7 si une valeur est absente dans le menu déroulant je veux pouvoir l’ajouter directement dans F7 a partir de la liste déroulante et que cette valeur aille s’ajouter a la liste pour la prochaine fois

3) Finalement un petit bug que j'arrive pas a corriger : lordque j'appelle la liste deroulante cela m'amene a la fin de la liste dans certaines cases ..j aimerais pouvoir acceder au debut de la liste ( voir si vous cliquer directement sur F7 la liste qui apparait est vide je dois utiliser la fleche pour acceder a une valeur quelconque )

Merci de m'aider a ameliorer ma petite application

10bd-en-test.zip (408.95 Ko)

Hello,

juste pour le 3ème point : les listes affichent le contenu de la cellule et le reste, mais comme vous avez ajouté des cellules vides dans la liste de validation, Excel positionnera la liste sur la cellule vide tant que vous n'aurez pas saisie qqchose.

Vous remarquerez que si vous avez déjà fais un choix ou saisie une valeur de la liste dans la cellule, Excel vous sélectionnera cette données

Donc, si vous ne voulez pas être en fin de liste à chaque fois, soit vous mettez une cellule vide au début de vos liste, soit vous limitez les listes au données à visualiser

Pour le reste, c'est AMHA des macros, et, manquent de temps, je laisse d'autres s'en occuper

Bonjour

Un essai pour les points 2 & 3

5bd-en-test.zip (384.18 Ko)

Slts

Merci pour vos réponses ..je ne ferme pas le sujet car mon point 1 est pas encore reglé

Bonjour,

Pour le point 1, remplace la macro du module de la feuille Saisie par celle-ci :

Private Sub Worksheet_Change(ByVal Target As Range)
  ThisWorkbook.RefreshAll
  Application.EnableEvents = False
  If Target.Count = 1 Then
    If Target.Address = "$C$7" And (Target = "Dépôt" Or Target = "Retrait") Then
      Range("C8:C10,C12") = "NA"
    Else
      Range("C8:C10,C12") = ""
    End If
        With Range("C8").Validation
          .Delete
          .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
          xlBetween, Formula1:="=Parametres!$C$2:$C$22"
        End With
        With Range("C9").Validation
          .Delete
          .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
          xlBetween, Formula1:="=Parametres!$C$2:$C$22"
        End With
        With Range("C10").Validation
          .Delete
          .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
          xlBetween, Formula1:="=Parametres!$C$2:$C$22"
        End With
        With Range("C12").Validation
          .Delete
          .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
          xlBetween, Formula1:="=Parametres!$D$2:$D$14"
        End With
    End If

  Application.EnableEvents = True
End Sub

Bonsoir

Voir le point 1

3bd-en-test.zip (385.51 Ko)

Slts

J'aimerais bien repondre a Boss_68 et a Daniel C mais je n'arrive pas a trouver le bouton réondre pour un message en particulier ....

Alors je me risque a repondre a tous !

Le code proposé par Daniel C marcherait bien si la cellule C12 n'affichait pas NA et si le contenu des cellules C9 C10 et F8 ne s'effacait si je clique dedans

Pour le code proposé par Boss_68 la aussi ca accroche un peu : la cellule qui me permettrait d'ajouter des valeurs dans la liste des fournisseur est la cellule F7 or le code proposé semble s'appliquer a la cellule F6

Merci a tous les deux pour votre aide ...

MESSAGE POUR BOSS_68

En fait si tu m'aidais a corriger le code suivant ca reglerait tous mes soucis . Je me suis inspiré de ton code mais je dois manquer quelque chose cas

J'avais mal exprimé mon besoin au debut

en fait je veux que les conditions suivantes s'appliquent :

C7 est Dépôt alors valeur de C8 et C9 est NA

C7 est retrait alors valeur de C9 et C10 est NA

C7 est Transfert recu alors NA s’affichera dans C9

C7 est Transfert fait alors NA s’affichera dans C10

Merci du coup de main

Application.EnableEvents = False
If Me.Range("C7").Value = "Dépôt"
Me.Range("C8,C9,F8,F9,F10").Value = "NA"
        Else
            Me.Range("C8,C9,C10,F8,F9,F10").ClearContents
        End If
        Application.EnableEvents = True

If Me.Range("C7").Value = "Retrait"
Me.Range("C9,C10,F8,F9,F10").Value = "NA"
        Else
            Me.Range("C8,C9,C10,F8,F9,F10").ClearContents
        End If
        Application.EnableEvents = True

If Me.Range("C7").Value = "Transfert fait"
Me.Range("C10,F8,F9,F10").Value = "NA"
        Else
            Me.Range("C8,C9,C10,F8,F9,F10").ClearContents
        End If
        Application.EnableEvents = True

If Me.Range("C7").Value = "Transfert recu"
Me.Range("C9,F8,F9,F10").Value = "NA"
        Else
            Me.Range("C8,C9,C10,F8,F9,F10").ClearContents
        End If
        Application.EnableEvents = True

tout le reste du code avant

Application.EnableEvents = False

on y touche pas

Merci

J'ai fermé la demande car j'ai fini par trouver comment proceder tout seul

Merci a tous ceux qui m'ont mis sur la bonne piste

Bonjour,

J'avais mal exprimé mon besoin au debut

en fait je veux que les conditions suivantes s'appliquent :

C7 est Dépôt alors valeur de C8 et C9 est NA

C7 est retrait alors valeur de C9 et C10 est NA

C7 est Transfert recu alors NA s’affichera dans C9

C7 est Transfert fait alors NA s’affichera dans C10

Voir si le fichier correspond à ta demande

6bd-en-test.zip (384.92 Ko)

Slts

Merci tout est ok maintenant

Rechercher des sujets similaires à "amelioration menu deroulant"