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

[RESOLU] : Liste deroulante

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 !

MADAGASCAR

XLDnaute Occasionnel
Bonsoir Excel Downloads
Bonsoir tout le monde
SVP une autre fois je sollicite votre aide pour finir ce fichier .. mon but est lorsque je choisis dans la liste deroulante dans la cellule "F9" dans l'onglet "DATABASE" un code d'usine ..s'affichent automatiquement dans la colonne G ( commançant par "G9" ) les codes du pieces de cet usine choisit mais sans doublons du numero de ces pieces ..
Mille fois merci d'avance pour l'aide
Cordialement
MADA
 

Pièces jointes

Dernière édition:
Re : Liste deroulante

Bonsoir Mada...

Et pourquoi pas un simple TCD...

Bonne soirée
Salut FROLLINDE
Merci beaucoup pour votre impeccable travail et votre magnifique fichier
C'est vraiment ce que je veux avoir .. seulement svp si vous pouvez m'aider pour le faire sans filtre c'est à dire comme mon premier fichier avec liste deroulante ..
Merci beaucoup d'avance pour l'aide
Cordialement
MADA
 
Re : Liste deroulante

Salut FROLLINDE
Merci pour tous
Oui vraiment c'est une solution plus proche de ce que je souhaitais
Je tiens toujours si c'est possible biensure de le faire sans TCD ..
Merci 1000 fois pour votre temps passé pour m'aider
Cordialement
MADA
 
Re : Liste deroulante

Bonjour MADAGASCAR, FROLLINDE, le forum,

Une solution avec l'objet Dictionary et un tri :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Range, x, t, d As Object, i&, a
Set cel = [F9] 'à adapter
If Intersect(Target, cel) Is Nothing Then Exit Sub
x = cel
t = [A1].CurrentRegion
Set d = CreateObject("Scripting.Dictionary")
For i = 1 To UBound(t)
  If t(i, 1) = x Then d(t(i, 2)) = ""
Next
If d.Count Then
  a = d.keys
  tri a, 0, UBound(a)
  cel(1, 2).Resize(d.Count) = Application.Transpose(a)
End If
cel(d.Count + 1, 2).Resize(Rows.Count - d.Count - cel.Row + 1).Delete xlUp
End Sub

Sub tri(a, gauc, droi)       ' Quick sort
Dim ref, g, d, temp
ref = a((gauc + droi) \ 2)
g = gauc: d = droi
Do
    Do While a(g) < ref: g = g + 1: Loop
    Do While ref < a(d): d = d - 1: Loop
    If g <= d Then
      temp = a(g): a(g) = a(d): a(d) = temp
      g = g + 1: d = d - 1
    End If
Loop While g <= d
If g < droi Then Call tri(a, g, droi)
If gauc < d Then Call tri(a, gauc, d)
End Sub
Bonne journée.
 
- 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

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…