• Initiateur de la discussion Initiateur de la discussion Ilino
  • 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 !

Re : Liste deroulante

Re,

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim n As Integer
 If Target.Address = "$A$3" And Target.Count = 1 Then
 n = Application.CountA([A4:A10000])
 ActiveSheet.Unprotect Password:=""
 Cells(4 + n, "a") = Target
 ActiveSheet.Protect Password:=""
 [A3].Select
 End If
 If Target.Address = "$B$3" And Target.Count = 1 Then
 n = Application.CountA([B4:B10000])
 ActiveSheet.Unprotect Password:=""
 Cells(4 + n, "b") = Target
 ActiveSheet.Protect Password:=""
 [B3].Select
 End If
 End Sub
 
Re : Liste deroulante

Bonsoir tous les mondes, bonsoir FORUM
Apres avoir élaboré le code VBA (grâce a vous) maintenant j’ai un autre souci …
Comment faire supprimer les doublants lors du remplissage de la liste déroulant
MERCI
 
Re : Liste deroulante

Re,

Avec un test supplémentaire. A tester :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim n As Integer
    If Application.WorksheetFunction.CountIf(Range(Cells(3, Target.Column), Cells(10000, Target.Column)), Target.Value) = 1 Then

        If Target.Address = "$A$3" And Target.Count = 1 Then
            n = Application.CountA([A4:A10000])
            ActiveSheet.Unprotect Password:=""
            Cells(4 + n, "a") = Target
            ActiveSheet.Protect Password:=""
            [A3].Select
        End If
        If Target.Address = "$B$3" And Target.Count = 1 Then
            n = Application.CountA([B4:B10000])
            ActiveSheet.Unprotect Password:=""
            Cells(4 + n, "b") = Target
            ActiveSheet.Protect Password:=""
            [B3].Select
        End If

    End If
End Sub
 
Re : Liste deroulante

Re,

Pour éviter les plantage lors de la sélection de plusieurs cellules, rajoute le test :
if target.count>1 then exit sub
au tout début.

PS : Et n'oublie pas que si tu dépasses 32767 lignes, tu devras déclarer ta variable en long.
 

Pièces jointes

Dernière édition:
- 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
2
Affichages
128
Réponses
1
Affichages
115
Réponses
34
Affichages
875
Réponses
8
Affichages
311
Réponses
2
Affichages
259
Retour