Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

validation de données evolutif

  • Initiateur de la discussion Initiateur de la discussion julie999
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

julie999

XLDnaute Occasionnel
bonjour
je fais une petite application pour gérer des emplacements de palettes pour faire des entrer en stock puis sortie de stock
pour choisir l'emplacement de la palette a stocker j'ai mis une liste de validation en cellule B6 de la feuille entrée en stock lorsque je valide tous les infos se copient dans la feuille base de donné qui constituent le stock
comment faire pour que les emplacement déjà occupé par une palette donc figurant dans la base de donnée ne figure pas dans ma validation de donnée plage T71:T281

ci joint le fichier merci de votre aide
Julie
 

Pièces jointes

Re : validation de données evolutif

BONSOIR SI
contente de voir en ligne
déjà un grand merci pour ce code
par contre je ne vois pas la différence
tu me demande de mettre ca
'pour la liste de validation en B6
Range("S70:S" & 70 + UBound(t)) = Application.Transpose(t)

a la place de ca
'pour la liste de validation en B6
Range("S70:S" & 70 + UBound(t)) = Application.Transpose(t)
aucune difference ou je ne vois passe
julie
 
Re : validation de données evolutif

ah oui j'ai vue pourtant je ne suis pas blonde mais brune
ca fonctionne a merveilles
possible de faire la même chose avec la celulle b6 de la feuille sortie de stock la validation de donné doit être égal a toute les cellules contenant quelque chose de la colonne A de la feuille base de données un grand merci a toi SI
julie tu me sauve encore merci
 
Re : validation de données evolutif

salut

possible de faire la même chose avec la celulle b6 de la feuille sortie de stock la validation de donné doit être égal a toute les cellules contenant quelque chose de la colonne A de la feuille base de données

Voir fichier joint. J'ai essayé de "trafiquer" certaines macros mais je ne comprends pas ton objectif.
Ce n'est pas une gestion de stock au vrai sens (entrée: ajout quantité, sortie : diminution de quantité).
Si ce n'est qu'une gestion d'évènements je vois pas comment écrire les données de "Sortie".
 

Pièces jointes

Re : validation de données evolutif

bonjour SI ,le fil
ce que je veux faire pour la sortie de stock
en b6 de la feuille sortie de stock sélectionner l'emplacement,le numéro de client s'affiche automatiquement et je doit indiquer le numéro de sortie en cellule b8(numéro qui se trouve sur la fiche d'impression de la palette et dans la base de donnée colonne J)
le bouton valider devrait contenir une macro avec
rechercher le numéro de sortie en b8 de l'emplacement en b6 de la feuille sortie de stock dans la base de donné colonne A pour l'emplacement et colonne J pour le numéro de sortie
si le numéro est identique effacer la ligne complète avec un message "sortie de stock réalisé"
si non afficher un message "le numéro de correspond pas ...veuillez réessayer)
Julie
 
Re : validation de données evolutif

bonsoir SI,le fil
je reviens vers toi pour te tenir au courant de mon projet
la liste validation pour les entrées en stock aucun problème
la lista validation pour la sortie de stock j'ai un problème il ne m'affiche pas toute les palettes de la feuille bd et colonne A
j'ai vu que ton code copier les emplacement en colonne z4 mais il doit avoir un petit souci de mise a jour que je ne vois pas
si non pour le reste j'ai quasiment terminer (en effet pour la sortie de palette il n'y a pas d’écriture il faut juste supprimer la ligne mais ça j'ai réussi a le faire
encore merci pour ton aide
peux tu s' il te plait voir si tu voir le problème pour cette validation
apparemment il me marque le nom pour la validation de donné Lvs est erroné

merci Julie
ps si une personne du forum repère le problème ça m’arrangerais bien je doit mettre en place cette application en début de semaine

j'allais oublier j'ai aussi ce module la sur la feuille bd peut être que le problème viens de la
Dim n As Byte



Private Sub Worksheet_BeforeDoubleClick(ByVal R As Range, Cancel As Boolean)
If R.Row <> 3 Or R = "" Then Exit Sub
n = IIf(n = 1, 2, 1)
Range("A4:J" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Cells(4, R.Column), n
[A4].Select

End Sub
 

Pièces jointes

Dernière édition:
Re : validation de données evolutif

Bonjour,

essaye peut être comme ceci, non testé, pas 2007 sous le coude... vois pas trop pourquoi n est "public" et pourquoi avoir changé l'argument "target" de la procéduré...
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal R As Range, Cancel As Boolean)
Dim n As Integer
  If R.Row <> 3 Or R = "" Then Exit Sub
  Cancel = True
  n = IIf(n = 1, 2, 1)
  Range("A4:J" & Cells(Rows.Count, 1).End(xlUp).Row).Sort Cells(4, R.Column), n
  [A4].Select
End Sub

bonne journée
@+
 
Re : validation de données evolutif

bonjour Pierrot 93,Si,le fil
j'ai mit ton code mais je ne vois pas de différence peut être est il mal placer je remet le fichier en b6 "feuille sortie de stock"il y a que 2 sortie alors qu'il devrait en avoir 4 ou 5 je sais plus
en faite la validation en b6 doit comporter tous les emplacement de la colonne A de la feuille "bd"
mais des que l'emplacement est sortie de la bd il reprend sa place dans la liste validation des emplacement disponible
Julie
 

Pièces jointes

Re : validation de données evolutif

Bonjour Julie999,
Salut Pierrot93 🙂, Si... 🙂, JHA 🙂

... Je débarque un peu, mais si la liste déroulante doit afficher les emplacements figurant en colonne A de la feuille "bd" ... on peut le faire avec une simple plage nommée dynamique, non?
- Nommer une plage "ListeIndispo"
- la plage fait référence à "=DECALER(bd!$A$4;;;NBVAL(bd!$A$4:$A$500))"
- pour la validation: Source =ListeIndispo

... ou j'ai loupé une info 😕
 
Réactions: JHA
Re : validation de données evolutif

bonjour le fil
j'ai essayer ta version Modeste elle semble fonctionner quelque temps puis message "La source est reconnu comme erroné"
connais tu ce problème
sinon ca fonctionner bien comme je veux
quelle domage.....
Julie
 
Re : validation de données evolutif

Re-bonjour Julie,

elle semble fonctionner quelque temps puis message "La source est reconnu comme erroné"
Ah ben ça, c'est ballot, comme on dit 🙁
Il faudrait voir dans une de tes macros: il y en a peut-être une qui supprime des lignes, en insère, les trie ... ou Dieu sait quoi!? Peut-être y a-t-il moyen de redéfinir la plage après les modifs ... dans le code lui-même, mais je ne m'engage pas dans cette voie-là, en ce qui me concerne. Désolé.
 
Re : validation de données evolutif

bonjour SI ,le fil
quand j’intègre ta macro a mon fichier je rencontre 2 petits problèmes

le premier: quand je fais une entrée en stock et que je prend l'emplacement MA 001 A par exemple a la prochaine entrée en stock la validation de donnée en b6 de la feuille entrée en stock ne doit pas me proposer cette emplacement

le second : lorsque la mise a jour de la validation en c9 de la feuille "sortie de stock" a l'activation de la feuille pour la sortie de palette pas de probleme lorsqu' il y a plusieur palette a sortir
par contre lorsqu' il n'y a qu'un seul emplacement occupé et que je le sort le nom "Emplacement de la feuille bds"se transforme en "a" et la macro bloque sur C(2).PasteSpecial xlPasteValues de la macro

la macro en question a mon fichier
Sub Transfert()
'Feuil1 et Feuil2 sont les CodeNames des feuilles
Dim sel As Range, f As String, C As Range
Application.ScreenUpdating = False
Feuil1.Select
Set sel = Selection
With Feuil2.Range("A3", Feuil2.Cells(Rows.Count, 1).End(xlUp))
ActiveSheet.Unprotect "david"
f = .Cells(1).Formula: .Cells(1) = "a"
Range("B31:F" & Rows.Count).ClearContents 'RAZ
Range("A2:A" & Rows.Count).ClearContents
For Each C In [b30,c30,d30,e30,f30]
.AutoFilter 1, "?" & Right(C, 1) & "*"
.Offset(1).SpecialCells(xlCellTypeVisible).Copy

C(2).PasteSpecial xlPasteValues
Selection.Sort C, xlAscending, Header:=xlNo 'tri
Cells(Rows.Count, 1).End(xlUp)(2).Resize(Selection.Count) = Selection.Value
Next
.AutoFilter
.Cells(1) = f
End With
sel.Select
End Sub

peux tu voir ce qui bloque car sur ton fichier que tu as mis sur le forum ca fonctionné

merci Julie

pour info la feuille entrée en stock sert a entrée des palettes en stock il affiche la palette a la feuille bd (qui est le stock actuelle) et a la feuille bds qui est l'historique
pour la feuille sortie de stock me sert a sortir les palette des emplacement et il écrit une ligne sur la feuille bds qui est l'historique
 

Pièces jointes

Dernière édition:
Re : validation de données evolutif

Bonjour le fil, bonjour le forum,

Le code de Si un peu remanié :
Code:
Private Sub Worksheet_Activate()
Dim P As Range
Dim Est As Range
Dim C As Range
Dim R As Range
Dim t() As String
Dim i As Long
Dim Dl As Long

Set pl = Range("T71:T" & Cells(Application.Rows.Count, 20).End(xlUp).Row)
Range("B6") = ""
Range("S71:S" & Cells(Application.Rows.Count, 19).End(xlUp).Row) = ""
With Sheets("bd")
  Set Est = .Range("A5:A" & .Cells(Application.Rows.Count, 1).End(xlUp).Row)
End With
'pour créer une liste réduite
For Each C In pl
    Set R = Est.Find(C.Value, , xlValues, xlWhole)
    If R Is Nothing Then
        ReDim Preserve t(i)
        t(i) = C
        i = i + 1
    End If
Next
'pour la liste de validation en B6
Range("S71:S" & 71 + UBound(t)) = Application.Transpose(t)
Range("S71:S" & 71 + UBound(t)).Name = "ListeV"
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
125
Affichages
13 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…