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 :

Créer un bouton recherche dans userform [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Par défaut Créer un bouton recherche dans userform
    bonjour a tous
    1 je suis débutant dans VBA,
    je cherche a crée un bouton rechercher ( si il est possible quand j'entre des valeurs dans le txtCommentaire et txtContacte toutes les valeurs saisie dans la ligne dans ma feille (Source) s'affichent dans mon userforme mais je ne sais pas comment tous les autres bouton fonction correctement, je vous

    voila les donnée de mon 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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
     
     
    Dim var As Integer
    Private Sub btnChercher_Click()
     
    var = var + 0
    FrmSaisie.cboSecteur.Value = Source.Cells(var, 0).Value
    FrmSaisie.txtSociété.Value = Source.Cells(var, 1).Value
    FrmSaisie.txtAvisé.Value = Source.Cells(var, 2).Value
    FrmSaisie.txtDate.Value = Source.Cells(var, 3).Value
    FrmSaisie.txtCommentaire.Value = Source.Cells(var, 4).Value
    FrmSaisie.txtContacte.Value = Source.Cells(var, 5).Value
    FrmSaisie.txtFonction.Value = Source.Cells(var, 6).Value
    FrmSaisie.txtTéléphone.Value = Source.Cells(var, 7).Value
    FrmSaisie.txtEmail.Value = Source.Cells(var, 8).Value
     
     
    End Sub
     
     
     
     
    '******************************
    'procédure permettant de
    'Fermer mon formulaire
    '******************************
    Private Sub btnFermer_Click()
     
        Unload Me
     
    End Sub
     
    '******************************
    'Procédure permettant d'acéder
    'a la source de données
    '******************************
    Private Sub btnSource_Click()
        Sheets("Source").Activate
        Range("A1").Select
     
    End Sub
     
    '*********************************************
    'Procédure permettant de réinitialiser tous
    'les champs du formulaire
    '***********************************************
    Private Sub btnEfface_Click()
        cboSecteur = ""
        txtSociété = ""
        txtAvisé = ""
        txtDate = ""
        txtCommentaire = ""
        txtContacte = ""
        txtFonction = ""
        txtTéléphone = ""
        txtEmail = ""
     
    End Sub
     
    '*********************************************
    'Procédure permettant de réinitialiser tous
    'le bouton d'ajout d'enregistrement
    '***********************************************
    Private Sub txtSociété_Change()
        If txtSociété <> "" Then
     
            btnAjout.Enabled = True 'Activer le bouton
        Else
            btnAjout.Enabled = False 'Désactiver le bouton
     
        End If
     
    End Sub
     
    '*********************************************
    'Procédure permettant d'ajouter un nouvel enregistrement
    'dans la base de données
    '***********************************************
    Private Sub btnAjout_Click()
     
        Sheets("Source").Activate
        Range("A1").Select
        Selection.End(xlDown).Select 'on se position sur la dernière ligne non vide
        Selection.Offset(1, 0).Select 'on se décale d'une ligne vers le bas
        ActiveCell = txtSociété.Value
        ActiveCell.Offset(0, 1).Value = txtAvisé
        ActiveCell.Offset(0, 2).Value = txtDate
        ActiveCell.Offset(0, 3).Value = txtCommentaire
        ActiveCell.Offset(0, 4).Value = txtContacte
        ActiveCell.Offset(0, 5).Value = cboSecteur
        ActiveCell.Offset(0, 6).Value = txtFonction
        ActiveCell.Offset(0, 7).Value = txtTéléphone
        ActiveCell.Offset(0, 8).Value = txtEmail
     
     
     
     
    End Sub
     
    Private Sub UserForm_Click()
     
    End Sub

  2. #2
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Bonjour,

    Je ne suis pas certain de bien comprendre...
    Si tu entres des valeurs dans les contrôles txtCommentaire et txtContacte, tu peux les rechercher dans la feuille Source ainsi
    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
    31
    32
    33
    Private Sub btnChercher_Click()
        Dim I As Long, nbLignes As Long
        Dim Source As Worksheet
        Dim Trouve As Boolean
     
        Set Source = Sheets("Source")
     
        nbLignes = Source.Cells(Rows.Count, "A").End(xlUp).Row
     
        Recherche les valeurs entrées dans txtCommentaire et txtContacte
        For I = 1 To nbLignes
            If LCase(Source.Range("D" & I)) = LCase(txtCommentaire.Value) And LCase(Source.Range("E" & I)) = LCase(FrmSaisie.txtContacte.Value) Then  'vérifie les lettres de colonnes
                Trouve = True
                FrmSaisie.cboSecteur.Value = Source.Cells(Var, 0).Value
                FrmSaisie.txtSociété.Value = Source.Cells(Var, 1).Value
                FrmSaisie.txtAvisé.Value = Source.Cells(Var, 2).Value
                FrmSaisie.txtDate.Value = Source.Cells(Var, 3).Value
    '            FrmSaisie.txtCommentaire.Value = Source.Cells(Var, 4).Value 'plus nécessaire
    '            FrmSaisie.txtContacte.Value = Source.Cells(Var, 5).Value
                FrmSaisie.txtFonction.Value = Source.Cells(Var, 6).Value
                FrmSaisie.txtTéléphone.Value = Source.Cells(Var, 7).Value
                FrmSaisie.txtEmail.Value = Source.Cells(Var, 8).Value
                Exit For
            End If
        Next
     
        If Not Trouve Then
            MsgBox "Aucune donnée correspondante trouvée"
        End If
     
        Set Source = Nothing
     
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Par défaut
    Merci beaucoup pour ta réponse rapide
    comme tu peux le constater sur le fichier xl ci joint, j'ai deux niveau d'enregistrement. dans le deuxième enregistrement je complété toutes les case qui sont rester vides.
    mais pour faire, soit je supprime tous et je recommence la saisie de 0 ou je modifier le premier enregistrement et je complet ce qui manque.

    Objectif:modifier le premier enregistrement et je complet ce qui manque
    Fichiers attachés Fichiers attachés

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Désolé, mais je n'ouvre pas les fichiers avec macros...

    Il te faut deux fonctions: Modifier et Supprimer.
    Ces 2 fonctions ont besoin de la fonction Rechercher.
    Une fois trouvées, les données sont alors modifiées ou supprimer selon tes besoins.
    Il faut seulement connaître la ligne.

    Si tu décides de modifier, tu écrases simplement ce qu'il y a d'écrit sans vérification comme dans ta fonction Ajout, mais en utilisant la ligne visée: Range("A" & Ligne").Offset(0, x).
    La vérification des données se fait lors de la création d'une nouvelle ligne de données et/ou à la modification d'un contrôle de ton Userform.

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2017
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2017
    Messages : 26
    Par défaut
    c'est pas grave!!!

    STP, si tu peut me donner un code exemple (détecter la ligne rechercher et afficher les champs rempli et appliquer la modification) pour l'adapter a mon besoin .
    comme je l'ai di au paravent je suis débutant en VBA

  6. #6
    Expert confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2013
    Messages
    3 609
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Alimentation

    Informations forums :
    Inscription : Mai 2013
    Messages : 3 609
    Par défaut
    Tu as ce qu'il faut dans le code de recherche que j'ai mis au #2...

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

Discussions similaires

  1. Bouton recherche dans un UserForm
    Par aptagud dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 17/01/2010, 11h28
  2. Création Bouton rechercher dans formulaire
    Par Boubas1 dans le forum IHM
    Réponses: 1
    Dernier message: 06/05/2007, 14h49
  3. créer un bouton "Parcourir" dans un formulaire
    Par friald38 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 05/04/2007, 11h30
  4. Bouton Recherche dans access
    Par fouf_01 dans le forum VBA Access
    Réponses: 9
    Dernier message: 23/05/2006, 16h34
  5. Créer un bouton 'Imprimez' dans Word ou InfoPath
    Par Lorent dans le forum InfoPath
    Réponses: 1
    Dernier message: 17/01/2006, 14h37

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