prevenir d'un doublon

M

Moon

Guest
Bonjour,
Je suis débutant sous excel et mon probleme est le suivant :
J'ai un fichier excel me permettant par macro d'entrée un nombre de ticket cinéma remboursé par personne et par mois
Colone 1 : nom
Colone 2 : nombre de ticket
Colone 3 : Somme remboursée
Colone 4 : la date du jour de saisie

j'aimerais pouvoir indiquer à la saisie d'un nom que celui ci à déjas dépassé le nombre de ticket remboursé par mois (on rembourse 2 ticket par mois max).

Merci d'avance pour vous reponse
Moon
 
M

Moon

Guest
Je renvois mon fichier qui n'est pas passé snifff

Moon [file name=ticketDVD.zip size=19384]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/ticketDVD.zip[/file]
 

Pièces jointes

  • ticketDVD.zip
    18.9 KB · Affichages: 15

jp14

XLDnaute Barbatruc
Bonjour

Ci joint une modification de la macro.
J'ai rajouté une colonne Mois, on peut la supprimer par une extraction du mois de la colonne date

Private Sub CommandButton1_Click()
'Call controle

For n = 2 To Range('A1').End(xlDown).Row
If Cells(n, 1) = ComboBox1 And Cells(n, 2) + 1 > 2 Then
MsgBox ('total depassé')
Me.Hide
Exit Sub
End If
Next
'***********************************************************
'mois en cours
moisencours = TextBox4.Value
nbbillet = TextBox1.Value
nom = TextBox1.Value
colonnenom = 1
colonnemois = 6
For i = 2 To Range('A1').End(xlDown).Row
If Cells(i, colonnemois) = moisencours And Cells(i, colonnenom) = nom Then nb = nb + 1
Next i
If nb > 2 Then
MsgBox ('total depassé')
Me.Hide
Exit Sub
End If
'***********************************************************************************
'permet de copier le contenu de ComboBox1 dans la cellule aprés la derniere pleinne
Range('A1').End(xlDown).Offset(1, 0) = TextBox1.Value 'nom
Range('A1').End(xlDown).Offset(0, 1) = TextBox1.Value 'nb ticket
Range('A1').End(xlDown).Offset(0, 3) = TextBox3.Value & '/' & TextBox4.Value & '/' & TextBox2.Value ''date
Range('A1').End(xlDown).Offset(0, 2) = '=RC[-1]*1.5 & '' €''' 'somme remboursé
Range('A1').End(xlDown).Offset(0, 4) = '=R[-1]C+RC[-2]' 'total remboursement
Range('A1').End(xlDown).Offset(0, 6) = TextBox4.Value 'date mois
'Range('A1').End(xlDown).Offset(0, 3) = TextBox3.Value

End Sub
 
M

Moon

Guest
Merci Jp14, Je vient d'essayer ta solution et comme pour le fichier de pierrejean, lorsque je met le nombre de ticket à 1 je peut toujours en ajouter sans que le message d'alerte n'apparraisse, je vais essayer de trouver par moi même et sinon une autre question, qu'elle est l'instruction qui permet de chercher dans tout le tableau et pas uniquement dans la derniere ligne pleinne ???

Merci pour tout.

Cordialement
Moon
 

Discussions similaires