Por emp^cher la saisie de doublons en VBA ??

Por emp^cher la saisie de doublons en VBA ?? - VB/VBA/VBS - Programmation

Marsh Posté le 17-02-2004 à 11:53:09    

Bonjour,
Voilà mon pb.
Je saisi par une form des infos dans une feuille excel. No problémo mais là ou ça coince, c que je peux saisir x fois le même enregistrement, Alors comment empêcher la saisie d'un enregistrement qui existe déjà (Nom en colonne 1) ? et où mettre le code ?
Sympa de ma répondre
Merci


---------------
Miguel69
Reply

Marsh Posté le 17-02-2004 à 11:53:09   

Reply

Marsh Posté le 17-02-2004 à 12:03:37    

Slt,
 
pour le ou :
sous VB, dans la parties "Microsoft Excel Objects" tu doubles click sur le nom de ton onglet, la sur la gauche du choisi worksheet dans la combo (General), puis dans la combo de gauche levenement aproprier, jdirais "Change" dans ton cas, après tu met le code ke tu veux derrière genre recherche si la valeur ke tu viens de rentrer exist dejà ;)
 
 
voilou
 
@+

Reply

Marsh Posté le 17-02-2004 à 12:08:32    

J'te remercie, mais ce genre de prg j'suis pas à l'aise
t'aurais pas un bout d'code
En te remerciant encore A+


---------------
Miguel69
Reply

Marsh Posté le 17-02-2004 à 12:25:28    

bon vu ke je suis un peux au taf G fe ça vite fe y'a surment mieux comme methode :)
 
donc tu met tout ça la ou je T dis tout a lheure ;)
[#00aa55][#00f00e]
Private Sub Worksheet_Change(ByVal Target As Range)
Dim newval As String
Dim i As Integer
Dim err As Boolean
err = False
 
newval = Cells(ActiveCell.Row - 1, 1).Value
 
If ActiveCell.Row > 2 Then
    i = ActiveCell.Row - 2
    Do While i >= 1 And err = False
     
    If Range("A" & i).Value = newval Then
    MsgBox ("Cette Entrée exist !!" )
    err = True
    Cells(ActiveCell.Row - 1, 1).Delete
    Cells(ActiveCell.Row - 1, 1).Activate
    End If
     
    i = i - 1
    Loop
Else
    If Range("A1" ).Value = Range("A2" ).Value Then
    MsgBox ("Cette Entrée exist !!" )
    Cells(ActiveCell.Row - 1, 1).Delete
    Cells(ActiveCell.Row - 1, 1).Activate
    End If
End If
 
End Sub
[/#00aa55][/#00aa55]
 
voila en esperant ke ça marche chez toi ....
 
@+

Reply

Marsh Posté le 17-02-2004 à 12:34:25    

rectification :
 
met la ligne :
 
newval = Cells(ActiveCell.Row - 1, 1).Value  
 
après  
If ActiveCell.Row > 2 Then
 
sinon ça marche ps trop, pis si tu veux effacer la colonne A, efface un par un sinon si tu selectionne tout et ke tu fe suppr ça plante !
G fe ça vite fe .... ;)
 
@+
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed