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 :

aide sur spinbutton et bouton recherche VBA


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
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Par défaut
    bonjour, voici mon problème: j'ai crée un userform permettant de rajouter des informations sur une feuille excel ( qui elle contient 13 colonnes).
    pour le bouton recherche:je voudrais être en mesure de rechercher une donnée en particulier par son et l'afficher sur l'userform. en voici les codes VBA:

    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 btnrecherche_Click()
    Dim vrech As String
    Dim i As Integer
    i = 2
    vrech = nom
    If nom.Value = "" Then
    MsgBox "Introduisez un nom SVP!!"
    While vrech <> Feuil2.Cells(i, 1)
    i = i + 1
    Wend
    ElseIf vrech = Feuil2.Cells(i, 1) Then
        nom = Feuil2.Cells(i, 1)
        prenom = Feuil2.Cells(i, 2)
        fonction = Feuil2.Cells(i, 3)
        matricule = Feuil2.Cells(i, 4)
        datedenaissance = Feuil2.Cells(i, 5)
        adresse = Feuil2.Cells(i, 6)
        codepostal = Feuil2.Cells(i, 7)
        ville = Feuil2.Cells(i, 8)
        pays = Feuil2.Cells(i, 9)
        salairebrutannuel = Feuil2.Cells(i, 10)
        numerodetelephone = Feuil2.Cells(i, 11)
        numerodegsm = Feuil2.Cells(i, 12)
        email = Feuil2.Cells(i, 13)
        Else
        MsgBox "Aucun résultat"
    End If
    End Sub
    le problème que j'ai c'est que quand j'introduis le nom se trouvant dans la case A2, tout fonctionne normalement mais lorsque j'introduis un nom se trouvant dans une autre case de la colonne A, ca affiche quand même " aucun résultat", comme ca le ferait pour un nom ne se trouvant pas dans la colonne A. quelqu'un pourrait il m'aider a déceler l'erreur SVP?

    pour le spinbutton: voici les codes:

    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
    Private Sub gestion_intialize()
    With SpinButton1
    .Min = 0
    .Max = 1000000
    End With
    i = 2
    While Feuil2.Cells(i, 1) <> ""
    i = i + 1
    Wend
    i = -1
    SpinButton1.Value = 1
    End Sub
    *****************************************************
    Private Sub SpinButton1_Change()
    SpinButton1.Value = 1
    If i < 2 Then
    i = 2
    SpinButton1.Value = 1
    End If
    If i > 1 Then
    nom = Feuil2.Cells(i, 1)
    prenom = Feuil2.Cells(i, 2)
    fonction = Feuil2.Cells(i, 3)
    matricule = Feuil2.Cells(i, 4)
    datedenaissance = Feuil2.Cells(i, 5)
    adresse = Feuil2.Cells(i, 6)
    codepostal = Feuil2.Cells(i, 7)
    ville = Feuil2.Cells(i, 8)
    pays = Feuil2.Cells(i, 9)
    salairebrutannuel = Feuil2.Cells(i, 10)
    numerodetelephone = Feuil2.Cells(i, 11)
    numerodegsm = Feuil2.Cells(i, 12)
    email = Feuil2.Cells(i, 13)
    End If
    End Sub
    le problème que j'ai est que en cliquant sur les flèches, je n'affiche que les données de la 1ere ligne mais je n'arrive pas a passer a la ligne suivante. comme pour dire: je suis bloqué sur la 1ère ligne.

    Besoin d'aide SVP

    le fichier est joint. thx

    P.S.: désolé pour ce long message.

    <config>Windows Vista / Safari 534.24</config>


    [Edit]
    desolé, au fait le fichier est trop grand pour etre joint. mais tous les codes sont affichés ci-dessus

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Bonsoir
    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
    Option Explicit
     
    Private Sub UserForm_Initialize()
    Dim LastLig As Long
     
    With Sheets("Feuil2")
        LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row
    End With
    With Me.SpinButton1
        .Min = 1
        .Max = LastLig
    End With
    End Sub
     
    Private Sub SpinButton1_Change()
    Dim i As Long
     
    i = Me.SpinButton1.Value
    If i > 1 Then
        With Sheets("Feuil2")
            Me.Nom.Value = .Range("A" & i).Value
            Me.Prenom.Value = .Range("B" & i).Value
            Me.Fonction.Value = .Range("C" & i).Value
            '...etc
        End With
    End If
    End Sub
     
    Private Sub btnRecherche_Click()
    Dim LastLig As Long, i As Long
    Dim c As Range
     
    If Nom.Value = "" Then
        MsgBox "Introduisez un nom SVP!!"
    Else
        With Sheets("Feuil2")
            LastLig = .Cells(.Rows.Count, 1).End(xlUp).Row
            Set c = .Range("A2:A" & LastLig).Find(Me.Nom.Value, LookIn:=xlValues, lookat:=xlWhole)
            If Not c Is Nothing Then
                i = c.Row
                Set c = Nothing
                Me.SpinButton1.Value = i
                Me.Prenom.Value = .Range("B" & i).Value
                Me.Fonction.Value = .Range("C" & i).Value
                '...etc
            Else
                Me.SpinButton1.Value = 1
                Me.Prenom.Value = ""
                Me.Fonction.Value = ""
                '...etc
                MsgBox "Aucun résultat"
            End If
        End With
    End If
    End Sub

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2011
    Messages : 13
    Par défaut
    Merci beaucoup, ca marche à merveille

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

Discussions similaires

  1. Demande d'aide sur une procédure de rechercher / remplacer
    Par skouf01 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 18/07/2014, 17h34
  2. [XL-2007] Bouton recherche VBA
    Par Sempre5 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/05/2014, 14h20
  3. [XL-2003] Besoin d'aide sur une formule de recherche
    Par Rabiry dans le forum Excel
    Réponses: 13
    Dernier message: 26/03/2012, 17h22
  4. [E-03] Aide sur la Fonction .Find dans VBA
    Par Gunsx dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 29/01/2009, 22h36
  5. Double action sur un seul bouton (userform)VBA)
    Par willybass dans le forum VBA Access
    Réponses: 5
    Dernier message: 14/05/2008, 15h10

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