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 depuis userform


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 45
    Par défaut Contrôle de doublons depuis userform
    Bonjour à tous,

    J'ai un userform dans lequel je renseigne un champs date, je souhaiterais lorsque j'appuie sur le bouton valider (bouton qui écrit dans la feuille excel),
    qu'un contrôle de doublons soit présent. C'est à dire qu'une macro parcours ma colonne ou se trouve les dates (colonne C en l'occurrence), et que j'ai un message d'erreur du style "date déjà présente, voulez-vous continuez", si je clique sur oui la date s'inscrit et si je clique sur non, je reviens à mon usf de saisie.

    Aidez moi svp, je ne sais pas comment faire ça!!!

    Merci d'avance,
    typhoon

  2. #2
    Membre éprouvé Avatar de LouiMz
    Homme Profil pro
    Inscrit en
    Février 2010
    Messages
    104
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 104
    Par défaut
    Bonjour, désolé j'ai appuyé sur entrée avant de terminé :p

    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
    26
    27
    28
    Private Sub bouton_valider_Click() 'Directement dans les methodes du bouton valider
     
    Dim i As integer 'Declaration de ma variable
     
    'On fait le traitement de la cellule C2 jusqu'à la derniere cellule non vide de la colonne C
     
    For i = 2 to Sheets("ma_feuille").Range("C65536").End(xlup).row
     
    'Si la cellule courante est égale à la valeur entrée dans ma TextBox
     
         if Sheets("ma_feuille").range("C"&i).value = Textbox1.text then
     
    'Si la reponse au message est oui je poursuis mon traitement
     
              if (Msgbox "La date est dejà présente, souhaitez-vous continuer?", vbYesNo, "Date dejà présente") = 6 then
              goto suite:
    'Sinon je quitte ma macro
              else
                 exit sub
              end if
        end if
    next
     
    suite:
     
    ''''''''''''''Mon traitement'''''''''''''''''''''
     
    end sub
    Il faut remplacer bouton_valider par le nom du bouton utilisé.
    Il faut remplacer ma_feuille par la feuille contenant les données.
    Il faut remplacer TextBox1 par le nom de la TextBox utilisée.
    Puis compléter ''''''''''Mon traitement''''''''''''' par le traitement souhaité, ici:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'La date s'ajoute après la dernière date remplie
    Sheets("ma_feuille").range("C65536").end(xlup).offset(1,0).Value = TextBox1.Text
    Cordialement

  3. #3
    Membre Expert Avatar de rvtoulon
    Homme Profil pro
    Agent Technique
    Inscrit en
    Mars 2009
    Messages
    1 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Agent Technique
    Secteur : Santé

    Informations forums :
    Inscription : Mars 2009
    Messages : 1 042
    Par défaut
    Bonjour à tous,
    j'ai repris l'exemple du msgbox de l'aide de vba
    et utilisé la fonction Find pour trouver la date dans la colonne C.
    Code à mettre dans le bouton de commande de l'userform:
    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
    26
    27
    28
    29
    30
    Private Sub CommandButton1_Click()
    Dim Msg, Style, Title, Help, Ctxt, Response, MyString
    Dim vval As Date, vdate As Range
     
    'définit les options de la msgbox
    Msg = "Cette Date est déjà présente," & Chr(10) & "Souhaitez-vous continuer?"   ' Définit le message.
    Style = vbYesNo + vbCritical + vbDefaultButton2    ' Définit les boutons.
    Title = "Démonstration de MsgBox "    ' Définit le titre.
     
    'donne le numéro de la dernière lign vide de la colonne C
    derlign = Range("C65000").End(xlUp).Row + 1
     
    vval = Me.TextBox1.Value
     
    'Recherche la date dans la colonne C
    Set vdate = Range("C:C").Find(vval)
     
    'si la date existe alors
    If Not vdate Is Nothing Then
       ' Affiche le message.
       Response = MsgBox(Msg, Style, Title, Help, Ctxt)
        If Response = vbYes Then    ' L'utilisateur a choisi Oui.
          Range("C" & derlign) = vval    ' Effectue une action.
        Else    ' L'utilisateur a choisi Non.
          Exit Sub    ' Effectue une action.
        End If
    Else
    Range("C" & derlign) = vval
    End If
    End Sub
    A adapter bien entendu

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    45
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 45
    Par défaut
    Merci à tous les deux pour vos réponses,

    le problème est résolu!!

    Quelle réactivité sur ce forum, j'ai toujours eu des réponses à mes question!!!!

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

Discussions similaires

  1. recherche date depuis userform
    Par typhoon751 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 13/06/2011, 17h05
  2. Transfert depuis USERFORM vers fichier EXCEL
    Par janobrasil dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 05/10/2008, 13h15
  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