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 :

Problème de controle de duplication


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Educateur Animateur
    Inscrit en
    Février 2013
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur Animateur
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 132
    Par défaut Problème de controle de duplication
    Bonsoir,

    Dans le fichier joint, j'ai un souci de contrôle de duplication... je m'explique :

    lorsque j'ajoute une personne à mon fichier, le contrôle de duplication se fait en tenant compte du nom entré dans ComboBox1, du coup si la personne a un frère par exemple, le contrôle me dite qu'il y a doublon car il s'agit du même nom...

    ce que je souhaiterai, c'est que le contrôle de doublons prenne en compte :
    * nom (ComboBox1)
    * prénom (ComboBox2)
    * classe (ComboBox3)
    * date de retenue (TextBox3)

    Ainsi il n'y a que si une personne est entrée deux fois pour la même date que le contrôle me met en garde pour la duplication...

    Si vous pouviez m'aider, ce serait très sympa...


    chris
    Fichiers attachés Fichiers attachés

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur amateur VBA Excel
    Inscrit en
    Janvier 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur amateur VBA Excel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 69
    Par défaut
    Bonsoir,

    Si tu remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ComboBox1 = Ws.Range("A" & X) Then
    par ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If ComboBox1 = Ws.Range("A" & X) And ComboBox2 = Ws.Range("B" & X) And ComboBox3 = Ws.Range("C" & X) And TextBox3 = Ws.Range("F" & X) Then
    ca marche ?

    Zac

    ps: ça fait un peu mal au coeur d'aider à donner des heures de colle mais bon ...

  3. #3
    Membre confirmé
    Homme Profil pro
    Educateur Animateur
    Inscrit en
    Février 2013
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur Animateur
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 132
    Par défaut
    Bonsoir,

    Merci beaucoup Limace_hurlante

    ça fonctionne... du coup si je peux me permettre une autre question...

    existe-t-il une commande pour dire à mon fichier de trier automatiquement le tableau par ordre croissant (Nom / Prénom / Classe) à l'ouverture du fichier sans avoir à le demander...

    autre question... si j'ai deux fois le même nom (frères par exemple), lorsque j'ajoute une personne, le rappel d'infos me décale les propositions... si je m'exprime mal, essaie en ajoutant une personne avec le nom "H", le prénom proposé automatiquement n'est pas "k"...

    aurais-tu une idée !?

    Je remets le fichier en pièce jointe car il a subit quelques modifs depuis aujourd'hui...

    Merci encore

    Chris


    PS : ce n'est pas le fichier qui va donner les heures de colles, mais les personnels encadrants, pour ma part je ne suis pas un adepte des colles et j'essaie plutôt de faire de l'éducatif...
    Fichiers attachés Fichiers attachés

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur amateur VBA Excel
    Inscrit en
    Janvier 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur amateur VBA Excel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 69
    Par défaut
    Pour le problème des frère et soeur,

    essai de mettre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call UserForm_Initialize
    juste avant la fin de ta fonction CommandButton1_Click qui se trouve dans l'userform2, ça devrait mettre à jour tes combobox à chaque fois que tu fait un ajout

    zac

    ps : merci, tu me rassure, j'avais mauvaise conscience :-)

    ps2 : je suis sur le coup de ton triage automatique, a suivre dans pas longtemps (j’espère)

  5. #5
    Membre confirmé
    Homme Profil pro
    Développeur amateur VBA Excel
    Inscrit en
    Janvier 2013
    Messages
    69
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur amateur VBA Excel
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2013
    Messages : 69
    Par défaut
    Dans le code de l'object ThisWorkBook

    A la place de

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Workbook_Open()
    UserForm1.Show
    End Sub
    mets :


    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
    21
    22
    23
    24
    25
     
    Private Sub Workbook_Open()
    call TriageAuto
    UserForm1.Show
    End Sub
     
    Sub TriageAuto()
    Dim LFin As Long, Ret As Object
     
    Set Ret = ActiveWorkbook.Worksheets("Retenues")
    LFin = Range("A1").End(xlDown).Row
     
    Ret.Sort.SortFields.Clear
    Ret.Sort.SortFields.Add Key:=Range(Cells(2, 1), Cells(LFin, 1)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    Ret.Sort.SortFields.Add Key:=Range(Cells(2, 2), Cells(LFin, 2)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    Ret.Sort.SortFields.Add Key:=Range(Cells(2, 3), Cells(LFin, 3)), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With ActiveWorkbook.Worksheets("Retenues").Sort
        .SetRange Range(Cells(1, 1), Cells(LFin, 9))
        .Header = xlYes
        .MatchCase = False
        .Orientation = xlTopToBottom
        .SortMethod = xlPinYin
        .Apply
    End With
    End Sub

  6. #6
    Membre confirmé
    Homme Profil pro
    Educateur Animateur
    Inscrit en
    Février 2013
    Messages
    132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Educateur Animateur
    Secteur : Enseignement

    Informations forums :
    Inscription : Février 2013
    Messages : 132
    Par défaut
    Bonjour,

    ça ne fonctionne pas

    Pour les frères et soeurs le souci reste le même... si tu veux entrer par exemple le nom "H", il affiche automatiquement les informations correspond à deux lignes plus haut...


    Pour le tri... il me met une erreur à la ligne 13 de ton code...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/05/2007, 13h26
  2. Problèmes user control et événement
    Par gridin dans le forum VB.NET
    Réponses: 3
    Dernier message: 04/05/2007, 14h40
  3. [C#] Problème de controle null.
    Par Michel Hubert dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/12/2006, 22h01
  4. [C#]Encore un problème de controls dynamiques.
    Par bicou13 dans le forum ASP.NET
    Réponses: 9
    Dernier message: 22/08/2006, 09h13
  5. Problème avec control parent de type TDrawGrid
    Par slylafone dans le forum C++Builder
    Réponses: 2
    Dernier message: 09/11/2005, 17h32

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