IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Contrôle de doublons


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut Contrôle de doublons
    Bonjour,

    Voila j'ai créé un formulaire pour enregistrer des nouveaux Adhérents au sein du club dans une base de données.

    Je recherche une façon de contrôler la présence de doublon lors de la saisie (à savoir si le nom/prénom sont déjà présents, par un message et un arrêt de la création).

    Un très grand merci à tout ceux qui pourront m'aider...

    Ci joint le fichier exemple

    Cordialement
    Max

  2. #2
    Membre Expert
    Inscrit en
    Août 2006
    Messages
    1 588
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 1 588
    Par défaut
    Bonjour,
    La fonction Find permet de trouver un enregistrement
    A créer dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    Function presence(nom As String, prenom As String) As Boolean
     Dim ligne As Long, ligne1 As Long, c As Variant
     presence = False
     'élargir la recherche ( ici A:B ) si plus de colonnes
     With Sheets("Feuil1").Range("A:B")   
    Set c = .Find("gabin", LookIn:=xlValues)
      If Not c Is Nothing Then
       ligne1 = c.Row   'la recherche revient au début 
       'on considère les prénom dans la colonne 2
       If .Cells(ligne1, 2) = prenom Then presence = True: Exit Function
       'poursuite de la recherche
       Do
        Set c = .FindNext(c)
        ligne = c.Row
        If .Cells(ligne, 2) = prenom Then presence = True: Exit Function
       Loop While Not c Is Nothing And ligne <> ligne1
      End If
     End With
    End Function
    à utiliser ainsi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     If presence("Gabin","Jean") then msgbox("trouvé")

  3. #3
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Bonjour Helas

    Je te remercie beaucoup

    J'ai un message d'erreur sur cette ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     With Sheets("Adhérents").Range("A:B") Set c = .Find("baudry", LookIn:=xlValues)
    => "Erreur de syntaxe"

    Adhérents étant le nom de ma feuille

    @+

    Max

  4. #4
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008
    Par défaut
    Bonjour...

    ce n'est pas une ligne que tu montre c'est deux il manque un retour chariot avant le Set..

  5. #5
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Bonjour,

    Effectivement il manquer un retour chariot. Mais ceci dit, pourquoi que lorsque je tape un nom existant sa me vide bien tous les texBox mais en plus sa copie une ligne avec les infos qui se trouver dans les texBox

    Cordialement
    Max

  6. #6
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 22
    Par défaut
    Tu dois, avoir un problème dans ta recherche de doublon....même si la formule fonctionne.
    Quel évènement utilises tu pour le stockage des données dans ta feuille excel: exit, ou click sur un commandbutton?

  7. #7
    Membre éclairé
    Inscrit en
    Septembre 2008
    Messages
    629
    Détails du profil
    Informations forums :
    Inscription : Septembre 2008
    Messages : 629
    Par défaut
    Bonjour Rocuet,

    Je te remercie d'avoir répondu, pour l'événement du bouton "Private Sub CommandButton1_Click()"

    Mais se que je ne comprend toujours pas si je rentre un nom volontairement qui existe dans la liste j'ai bien mon textBox qui se vide mais en plus sa copie une ligne avec les infos qui se trouver dans la texBox

    Cordialement

    Max

Discussions similaires

  1. [RegEx] Contrôle de doublons - sensible à la casse
    Par erox44 dans le forum Langage
    Réponses: 4
    Dernier message: 07/06/2011, 14h46
  2. Contrôle de doublons depuis userform
    Par typhoon751 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/11/2010, 11h52
  3. Trigger: contrôle des doublons à l'insertion
    Par CaptainT dans le forum PL/SQL
    Réponses: 25
    Dernier message: 20/09/2007, 09h45
  4. Contrôle de doublon dans une datawindow issue d'une table à deux clés primaires
    Par Maman Kakalé Néhémiya dans le forum Powerbuilder
    Réponses: 4
    Dernier message: 16/08/2006, 21h28
  5. [MySQL] Contrôle des doublons
    Par samjung dans le forum PHP & Base de données
    Réponses: 17
    Dernier message: 16/11/2005, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo