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 :

[VBA|E-03] Fonction recherche à partir d'un combobox


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut [VBA|E-03] Fonction recherche à partir d'un combobox
    Bonjour,

    Malgré quelques recherches, je ne trouve pas la réponse à mon propblème (si simple v_v)

    J’ai créé un userform afin d’atteindre une cellule à partir de la valeur présente dans le combobox…

    Voici ma partir de code :

    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
     Private Sub UserForm_Initialize()
     
    'initialisation de mon userform
     
    Dim nb_ max, i As Variant
     
    nb_ max = 100
     
    For i = 4 To nb_rh_max + 4 - 1
       UserForm1.ComboBox1.AddItem Workbooks("truc.xls").Sheets("machin").Cells(i, 1).Value
    Next i
     
     
    End Sub
     
    Private Sub CommandButton1_Click()
     
    'macro de recherche / atteindre (mon problème :p)
     
    Selection.Find(What:=UserForm7.ComboBox1.Value).Select
     
     
    UserForm1.Hide
     
     
    End Sub
     
     
    Private Sub CommandButton2_Click()
     
    'ça, on s’en fou un peu
    UserForm7.Hide
     
    End Sub
    Le problème est que je n’utilise pas la bonne fonction où alors que je n’ai pas défini de plage…

    La solution est certainement anodine mais je suis toujours un vrai noob v_v

    Merci de votre aide et bonne journée

  2. #2
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    Résolu et tout seul en plus...

    J'ai juste créer un topic pour rien

    La solution :

    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
     
    Private Sub CommandButton1_Click()
     
    'macro de recherche / atteindre
    'ajout d'un Range et recherche par TextBox
     
     
    Sheets("machin").Range("A15:A3206").Select
    Selection.Find(What:=UserForm1.TextBox1.Value).Select
     
     
     
    UserForm1.Hide
     
     
    End Sub
    ++

    DVano

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Par défaut
    Je vois 2 problèmes:
    Citation Envoyé par DVano Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim nb_ max, i As Variant
    
    nb_ max = 100
    
    For i = 4 To nb_rh_max + 4 - 1
       UserForm1.ComboBox1.AddItem Workbooks("truc.xls").Sheets("machin").Cells(i, 1).Value
    Next i
    Ton nb_rh_max, je ne le vois déclaré et rempli nulle part...
    De plus, ce qui ne gêne pas au niveau du fonctionnement, mais que certains définiraient comme une erreur fondamentalement grave, c'est que tu as déclaré i comme étant un Variant. or là vu comment tu t'en sers, tu ferais mieux de le déclarer comme étant un Integer. Pareil pour nb_max qui a été déclaré implicitement comme étant un Variant et que tu devrais aussi déclarer comme étant un Integer: je te rappelle que tu dois préciser le type de chacune de tes variables une à une, et non pas avec un seul type pour une ligne. Ca marche pas comme en C/C++ la déclaration de variables en VB/VBA.

    Deuxièmement:
    Citation Envoyé par DVano Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub CommandButton1_Click()
    
    'macro de recherche / atteindre (mon problème :p)
    
    Selection.Find(What:=UserForm7.ComboBox1.Value).Select
    
    
    UserForm1.Hide
    
    
    End Sub
    Pas besoin de commentaire...

  4. #4
    Membre averti
    Inscrit en
    Octobre 2006
    Messages
    47
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2006
    Messages : 47
    Par défaut
    Ce sont juste des problème de copié/collé

    Merci pour la remarque

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

Discussions similaires

  1. Recherche En vba Excel en fonction d'un critère spécifique
    Par lyndakab dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/03/2008, 16h28
  2. Réponses: 5
    Dernier message: 15/03/2007, 06h58
  3. [VBA-EXCEL] Utiliser la fonction recherche
    Par plasticgoat dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 15/02/2007, 15h06
  4. [VBA-E] Fonction rechercher et afficher le résultat dans l'UF
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 25/08/2006, 11h17
  5. [VBA-E] Aide sur la fonction recherche
    Par Didpa dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 08/08/2006, 07h58

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