validation de donné

cindy75015

XLDnaute Junior
bonjour
je cherche comment obtenir une liste validation d'une colonne A "produits disponible" en excluant les produits déjà loué d'une colonne B"produits loué"
mise a jour a l'activation de la page(macro ??)
comment faire
merci Cindy
 

Pièces jointes

  • liste validation cindy.xlsx
    9.9 KB · Affichages: 32
  • liste validation cindy.xlsx
    9.9 KB · Affichages: 37
  • liste validation cindy.xlsx
    9.9 KB · Affichages: 39
Dernière édition:

JHA

XLDnaute Barbatruc
Re : validation de donné

Bonjour à tous,

Voir fichier joint, le menu déroulant dans la zone bleue se modifie après chaque sélection.

JHA
 

Pièces jointes

  • liste validation cindy.xlsx
    10.6 KB · Affichages: 51
  • liste validation cindy.xlsx
    10.6 KB · Affichages: 50
  • liste validation cindy.xlsx
    10.6 KB · Affichages: 49

cindy75015

XLDnaute Junior
Re : validation de donné

bonjour JHA ,le fil
en fait il ne faut qu'une seule cellule pour la validation de donnée qui affiche uniquement les produits dispo en E10
et même chose pour F10 qui affiche uniquement les produits en loué donc en cour de location

l'idée est que :

si je sélectionne en E10 un article "marteau"et que je clique sur le bouton "Départ location"s'effectue une petite macro ou formule pour que l'article sélectionné "marteau"n'apparaisse plus dans la validation de donnée en E10 mais elle apparaît dans la validation de donnée en F10

et vis versa

si je sélectionne en F10 un article "marteau"et que je clique sur le bouton "Retour location"s'effectue une petite macro ou formule pour que l'article sélectionné "marteau"n'apparaisse plus dans la validation de donnée en F10 mais elle apparaît dans la validation de donnée en E10
Cindy
merci
 

Pièces jointes

  • liste validation 2 cindy.xlsx
    10.3 KB · Affichages: 32

JHA

XLDnaute Barbatruc
Re : validation de donné

Bonjour à tous,

Pour ta demande, il est certainement plus facile de faire cela par VBA mais là, je suis incapable de t'aider à coder, en espérant que les VBistes passent par ici.

JHA
 

Modeste

XLDnaute Barbatruc
Re : validation de donné

Bonjour Cindy,
Salut JHA :)

Que ce soit par formule ou macro, il y aura une série de choses qui vont devoir se faire, après qu'une sélection ait été faite. C'est toi qui t'en chargeras?

De ce que j'ai pu voir dans l'un ou l'autre fil, tu as un autre fichier relatif à de la gestion de stock sur lequel tu as déjà fait beaucoup de choses. Il me semble même avoir lu quelqu'un qualifier gentiment ton fichier "d'usine à gaz"; à quoi tu as répondu que tu étais débutante ... La question est donc la suivante: si tu intègres ce qui te serait proposé ici, dans ton autre fichier, cela ne va-t-il pas encore compliquer les choses? ... Ou alors tu es occupée à "repenser" le fichier en question? Ne serait-il pas plus simple de travailler avec tes "machines" dans une seule colonne et trouver un système pour "cocher", quand l'article est en location?
 

cindy75015

XLDnaute Junior
Re : validation de donné

en effet je repense le fichier
mais le gros du fichier est cette validation de donné en me donnant que les produits disponibles d'un coté et que les produit loué de l'autre coté
le problème est que lorsque je retire le nom du produit loué il doit se réintégrer dans la colonne A produit disponible
Cindy
 

Efgé

XLDnaute Barbatruc
Re : validation de donné

Bonjour cindy75015, JHA, Modeste,
Une proposition.
Les liste de validation sont nommées (Formule, gestionaire des noms)
Il y a deux macros dans le code de la feuile.
J'ai remplacé les "beaus boutons" par de vrais boutons.
Cordialement
 

Pièces jointes

  • liste_validation_cindy(3).xls
    53.5 KB · Affichages: 32

job75

XLDnaute Barbatruc
Re : validation de donné

Bonjour à tous,

Une solution voisine de celle de Efgé mais quand même différente :

Code:
Sub Départ()
If [E10] = "" Then Exit Sub
Dim c As Range
On Error Resume Next
Set c = [Disponible].Find([E10], , xlValues, xlWhole)
Cells(Rows.Count, [Loué].Column).End(xlUp)(2) = c
If Err Then MsgBox "Non disponible..."
[E10] = "": [F10] = c
c.Delete xlUp
[Loué].Sort [Loué], xlAscending, Header:=xlNo 'tri facultatif
End Sub

Sub Retour()
If [F10] = "" Then Exit Sub
Dim c As Range
On Error Resume Next
Set c = [Loué].Find([F10], , xlValues, xlWhole)
Cells(Rows.Count, [Disponible].Column).End(xlUp)(2) = c
If Err Then MsgBox "Non loué..."
[F10] = "": [E10] = c
c.Delete xlUp
[Disponible].Sort [Disponible], xlAscending, Header:=xlNo 'tri facultatif
End Sub
Fichier joint.

A+
 

Pièces jointes

  • Listes de validaions(1).xls
    55 KB · Affichages: 41

Modeste

XLDnaute Barbatruc
Re : validation de donné

Re-Bonjour Cindy,
Salut Efgé :), job :)

Juste pour varier les plaisirs et croiser les deux derniers nommés, deux autres propositions (sans les validations).
Les "beaux boutons" affichent un UserForm, dont le contenu et le comportement s'adaptent suivant qu'on choisit "départ" ou "retour". Dans la seconde feuille, une technique plus "basique" basée sur le double-clic en colonne B. Ce sont des formules qui mettent les listes "loués" ou "disponibles" à jour.

Aucun des exemples n'est particulièrement soigné, ni abouti, c'est juste pour stimuler l'imagination de Cindy :D
 

Pièces jointes

  • liste validation cindy75015.xlsm
    28.8 KB · Affichages: 35

Efgé

XLDnaute Barbatruc
Re : validation de donné

Re
Suite à la très bonne idée de Job (les tris) une proposition:
Ajout de l'interdiction de la saisie dans les listes (Ignoré si vide décoché)
Tri des deux listes à chaque modif
Toujours avec mes moches et utilles boutons :D
VB:
Private Sub CommandButton1_Click()
'Départ Location
Dim i&, F As Range, Targe As Range
Application.ScreenUpdating = False
Set Targe = Range("$F$10")
If Targe  "" Then
    Cells(Rows.Count, 3).End(3)(2).Value = Targe
    Set F = [Dispo].Find(Targe, , xlValues, xlWhole)
    F.Delete shift:=xlUp
    If [Dispo].Count > 1 Then [Dispo].Sort [Dispo], xlAscending, Header:=xlNo
    If [Loue].Count > 1 Then [Loue].Sort [Loue], xlAscending, Header:=xlNo
    Targe = ""
End If
End Sub
VB:
Private Sub CommandButton2_Click()
'Retour Location
Dim i&, F As Range, Targe As Range
Application.ScreenUpdating = False
Set Targe = Range("$G$10")
If Targe  "" Then
    Cells(Rows.Count, 2).End(3)(2).Value = Targe
    Set F = [Loue].Find(Targe, , xlValues, xlWhole)
    F.Delete shift:=xlUp
    If [Dispo].Count > 1 Then [Dispo].Sort [Dispo], xlAscending, Header:=xlNo
    If [Loue].Count > 1 Then [Loue].Sort [Loue], xlAscending, Header:=xlNo
    Targe = ""
End If
End Sub
Cordialement
 

Pièces jointes

  • liste_validation_cindy(4).xls
    55 KB · Affichages: 39

cindy75015

XLDnaute Junior
Re : validation de donné

re Efgé,Modeste,JOB 75
merci pour vos solutions
un grand merci je vais les adaptés a mon fichier

que dois je modifier dans la macro Private Sub CommandButton2_Click()

si je laisse la validation de donnée pour les produits dispo dans la feuille "produits" en cellule F10
mais par contre la validation de donnée pour les produits loué je la déplace dans la feuille"produit loué" en cellule F10

Cindy

je vous remercie du fond du coeur pour ces solutions ça faisait un moment que je galérais

ps: bien vue Modeste pour la seconde feuille avec les emoticones
 

Efgé

XLDnaute Barbatruc
Re : validation de donné

Re
Peux tu mettre un fichier exemple avec les bonnes feuilles, les cellules aux bonnes places, les listes aux endroits où tu les veux... ...enfin un exemple significatif quoi...
A te re lire
Cordialement
 

Discussions similaires

Réponses
9
Affichages
216
Réponses
4
Affichages
224

Statistiques des forums

Discussions
312 469
Messages
2 088 696
Membres
103 924
dernier inscrit
Patrick c