Bonjour,
Le titre "MSGBOX dans une boucle selon countif" dit comme çà ?
Je suis sur un projet dans lequel j'ai un userform qui renseigne des cellules selon une listbox en multichoix.
Ce que j'aimerai c'est que si le choix a déjà été fait dans la zone, alors une msgbox me dit "doublon" soit je laisse soit je passe à l'autre sélection.
Dans le code, je ne parviens pas à renseigner la seconde variante de countif que j'aimerai reprendre de la listbox
En d'autre termes, au fur et à mesure que les éléments de la listbox s’inscrivent dans les cellules, vérifier que la valeur à venir n'est pas en double.
Ci dessous le code que j'ai.
	
	
	
	
	
		
Merci d'avance à ceux qui me liront,
Cordialement,
Leakim
	
		
			
		
		
	
				
			Le titre "MSGBOX dans une boucle selon countif" dit comme çà ?
Je suis sur un projet dans lequel j'ai un userform qui renseigne des cellules selon une listbox en multichoix.
Ce que j'aimerai c'est que si le choix a déjà été fait dans la zone, alors une msgbox me dit "doublon" soit je laisse soit je passe à l'autre sélection.
Dans le code, je ne parviens pas à renseigner la seconde variante de countif que j'aimerai reprendre de la listbox
En d'autre termes, au fur et à mesure que les éléments de la listbox s’inscrivent dans les cellules, vérifier que la valeur à venir n'est pas en double.
Ci dessous le code que j'ai.
		Code:
	
	
	Private Sub CommandButton1_Click()
Dim I As Integer
    If CheckBox1 = True Then
        For I = 0 To ListBox1.ListCount - 1
            ActiveCell.Offset(I, 0) = ListBox1.List(I)
        Next I
    End If
    
        For I = 0 To ListBox1.ListCount - 1
            If ListBox1.Selected(I) = True Then ListBox2.AddItem ListBox1.List(I)
        Next I
        
        For I = 0 To ListBox2.ListCount - 1
            If ListBox2.Selected(I - counter) Then
                ListBox2.RemoveItem (I - counter)
                counter = counter + 1
            End If
        Next I
        
        For I = 0 To ListBox2.ListCount - 1
            ActiveCell.Offset(I, 0) = ListBox2.List(I)
                If Worksheets.Application.CountIf(Range("$C$9:$L$27"), ActiveCell) > 0 Then
                MsgBox "attention doublon"
                End If
        Next I
Unload UserForm1
'ActiveCell.Offset(0, 1).Select
End Sub
	Merci d'avance à ceux qui me liront,
Cordialement,
Leakim
Pièces jointes
			
				Dernière édition: