Microsoft 365 Comment eviter un doublon

TIM99

XLDnaute Nouveau
je veux eviter un doublons dans la saisie au niveau de N°CHEQUE
 

Pièces jointes

  • VERSION 2 (2).xlsm
    397.7 KB · Affichages: 13

sousou

XLDnaute Barbatruc
Tout d'abord :confused:bonjour!
Une solution peu être celle-ci, mais tout dépend de la manière que tu va utiliser pour gérer les modifications
Private Sub TxtNumChèque_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim n
For n = 0 To Me.ListBox1.ListCount - 1
If Me.ListBox1.List(n, 1) = Me.TxtNumChèque.Value Then MsgBox "Chèque déjà utilisé": Exit Sub
Next
End Sub
 

jmfmarques

XLDnaute Accro
Bonjour
Je n'ai pas ouvert ton classeur (je ne le fais jamais).
Il est toutefois logique et vraisemblable (ne serait-ce que pour le suivi de ta comptabilité) que tes N°s de chèques sont enregistrés dans une feuille de calcul, dans une colonne ad-hoc
Il te suffit dès lors de vérifier que cette colonne ne contient pas déjà ce N°.
Tu as pour cela plusieurs méthodes possible : entre autre la méthode Range.Find, la fonction WorksheetFunction.countif, etc ... à ta disposition.
 

TIM99

XLDnaute Nouveau
ça marche bien merci bien

il reste ces boutons

les bouton ''AFFICHER, MASQUER EXCEL, IMPRIMER (le contenu de la listbox1 par banque), le bouton MODIFIER POUR QUE S'IL Y A DES ERREUR JE PUISSE APPORTER DES MODIFICATIONS, le bouton RECHERCHE avec le N°CHEQUE pour pouvoir afficher les information lorsque je choisi un N°cheque (voir le fichier ci-joint)
Enfin ouvrir le userform a l'ouverture du fichier excel
 

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour tout le monde,

Tim, j'ai rajouté un module :
VB:
Sub VerifDoublonsNoCheque(Banque, NumCheque)
' VerifDoublonsNoCheque(Me.ComboBanque, Me.TxtNumChèque)
Doublon = True                               ' True si pas de doublon, false si doublon
Nombanque = Banque
ListeCheque = Sheets(Nombanque).Cells(Rows.Count, 3).End(xlUp).Row
If ListeCheque < 2 Then Exit Sub             ' Pas de chèque enregistré
For I = 2 To ListeCheque
    If Sheets(Nombanque).Cells(I, 3) = Val(NumCheque) Then
        Doublon = False                      ' False car N° de chèque trouvé
        Exit Sub                             ' Comme doublon trouvé, on sort
    End If
Next I
End Sub
Il est appelé par ce call dans CmBValider_Click.
Code:
    Call VerifDoublonsNoCheque(Me.ComboBanque, Me.TxtNumChèque)
    If Doublon = False Then
        MsgBox " N° de chèque déjà saisi."
        Exit Sub
    End If
A vérifier, ça a l'air de marcher.
 

Pièces jointes

  • Doublons(V2).xlsm
    413 KB · Affichages: 12

TIM99

XLDnaute Nouveau
Bonjour tout le monde,

Tim, j'ai rajouté un module :
VB:
Sub VerifDoublonsNoCheque(Banque, NumCheque)
' VerifDoublonsNoCheque(Me.ComboBanque, Me.TxtNumChèque)
Doublon = True                               ' True si pas de doublon, false si doublon
Nombanque = Banque
ListeCheque = Sheets(Nombanque).Cells(Rows.Count, 3).End(xlUp).Row
If ListeCheque < 2 Then Exit Sub             ' Pas de chèque enregistré
For I = 2 To ListeCheque
    If Sheets(Nombanque).Cells(I, 3) = Val(NumCheque) Then
        Doublon = False                      ' False car N° de chèque trouvé
        Exit Sub                             ' Comme doublon trouvé, on sort
    End If
Next I
End Sub
Il est appelé par ce call dans CmBValider_Click.
Code:
    Call VerifDoublonsNoCheque(Me.ComboBanque, Me.TxtNumChèque)
    If Doublon = False Then
        MsgBox " N° de chèque déjà saisi."
        Exit Sub
    End If
A vérifier, ça a l'air de marcher.

bonjour Sylvanu
merci bien cela fonctionne bien mais svp il reste encore a parameter les bouton rechercher et imprimer
epuis si possible afficher le tracé excel (le tableau qui se trouve dans excel) dans la listbox
merci bien
 

Discussions similaires

Réponses
10
Affichages
310
Réponses
26
Affichages
856

Membres actuellement en ligne

Statistiques des forums

Discussions
312 165
Messages
2 085 880
Membres
103 009
dernier inscrit
dede972