Saisie sans doublon

Bonjour à tous,

Avec l'aide Claude j'ai pu réalisé un système de saisie.

Je voudrai avec cette macro :

Sub NouvelleSaisie()

Application.ScreenUpdating = False

Range("g10") = Application.Proper(Range("g10"))

Range("g10").Copy

With Sheets("tableau")

.Range("A65536").End(xlUp)(2).PasteSpecial Paste:=xlPasteValues

End With

Application.CutCopyMode = False

Range("G10").ClearContents

Range("G10").Activate

End Sub

Je voudrai rajouter une possibilité qu'elle fasse une recherche dans la colonne "A" de tableau si un nom n'est pas en doublon.

Avec votre je réussirai à peaufiner mon projet.

Merci d'avance

Amicalement

Noel

Bonjour à tous,

Quel genre de données dans la colonne A ?

Envoie la feuille pour mettre au point la macro

Amicalement

Claude.

Re à tous

Bonjour Claude,

Je dirai que c'est la suite de la MACRO SAISIE que j'ai essayé de recopier.

d'où tu m'as donné les explications

Dans la colonne "A" la saisie automatique doit m'inscrire des noms.

Voici le bout de fichier

https://www.excel-pratique.com/~files/doc2/QxxdoClasseur1.xls

Merci de ton aide

Amicalement

Noel

re,

Sub ValiderSaisie()
'de claude pour Noel le 28 Sept 09
Dim Nom
    Application.ScreenUpdating = False
      '**** recherche nom dans le tableau ****
      'si n'existe pas, déclenche une erreur controlée avec le Goto Suite
    On Error GoTo Suite
    Nom = WorksheetFunction.Match(Range("c26"), Range("tableau!a2:a200"), 0) + 1
    MsgBox ("Ce nom existe déjà !")
    Exit Sub
Suite:
    Range("C26") = Application.Proper(Range("C26"))
    Range("C26").Copy
        With Sheets("tableau")
            .Range("A65536").End(xlUp)(2).PasteSpecial Paste:=xlPasteValues
        End With
    Application.CutCopyMode = False
    Range("C26").ClearContents
    Range("C26").Activate
End Sub

Bonne journée

Claude.

Bonjour,

Autre façon qui contrôle le doublon lors de l'entrée en cellule C26

Sub ValiderSaisie()
'MAcro Claude modifiée par Dan le 28/09/09
'http://forum.excel-pratique.com/viewtopic.php?t=13368
Dim plage As Range
Dim nom
Application.ScreenUpdating = False
With Sheets("tableau")
    .Range("C26") = Application.Proper(Range("C26"))
Set plage = .Range("A2:A" & Range("A65536").End(xlUp).Row)
Set nom = plage.Find(.Range("C26"), LookIn:=xlValue, lookat:=xlWhole)
If nom Is Nothing Then
    .Range("C26").Copy
    .Range("A65536").End(xlUp)(2).PasteSpecial Paste:=xlPasteValues
Else: MsgBox "le nom existe déjà !"
End If
.Range("C26").ClearContents
End With
End Sub

Amcialement

Dan

re à tous,

re Claude,

Bonjour Dan,

C'est formidable ça marche.

Vous êtes au tant que vous êtes très efficaces

Je vous remercie à tous les deux

Amicalement

Noel

Rechercher des sujets similaires à "saisie doublon"