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 :

Rechercher un mot dans une feuille


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 50
    Points : 34
    Points
    34
    Par défaut Rechercher un mot dans une feuille
    Bonjour,

    Dans un de mes documents excel, je doit rechercher sur une feuille le numéro de modèle de différents appareils afin de remplir une combobox. Il y en a plusieurs par feuille, et je me base donc pour les trouver sur la chaine de caratères "Modèle" qui se trouve toujours sur la cellule à gauche de celle comportant le numéro de modèle recherché.


    J'ai essayé de faire quelque chose comme ça:

    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
     
    Private Sub UserForm_Initialize()
    Dim Modele As String
    Dim celluletrouvee As Range
    Dim ligne As Integer
    Dim col As Integer
     
    Modele = "Modèle"
     
    Set celluletrouvee = Range("A1:A500").Find(Modele)
    ligne = celluletrouvee.Row
    col = celluletrouvee.Column + 1
    MsgBox ("trouvé : ligne = " & ligne & " , colonne = " & col)
     
    If ActiveSheet.Index = Worksheets(1).Index Then
        MsgBox ("Vous avez sélectionné la feuille d'intro, fermeture du formulaire")
        Unload Modèles
     
    End If
     
    End Sub
    Seulement, ça ne fonctionne qu'à moitié, car il ne me m'affiche que la ligne et la colonne de la premiere cellule comportant "Modèle" qu'il trouve, et il s'arrète la alors qu'il y en a encore pleins plus bas dans la feuille. En plus, j'aimerais que ce soit pour toute la feuille, car dans mon cas présent, si je défini une plage de cellule (1:500) et que mon document fait plus, ça ira pas^^.

    Comment faire donc pour parcourir toute ma feuille, et à chaque fois qu'il trouve la chaine "Modèle", il prend le numéro de modèle dans la cellule à sa droite pour la mettre dans ma combobox (ComboBox1).

    Merci d'avance!

  2. #2
    Expert éminent
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Points : 7 964
    Points
    7 964
    Par défaut
    Bonjour,

    Un exemple avec Find et FindNext
    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
    Sub test()
    Dim c As Range, strAdd As String, Plage As Range
     
    Set Plage = Sheets("Feuil1").UsedRange '<-- nom de feuille à adapter
     
    Set c = Plage.Find(What:="Modèle")
    If Not c Is Nothing Then
        strAdd = c.Address
        Do
            Adéfinir.ComboBox1.AddItem c.Offset(0, 1) '<-- Adéfinir = l'endroit où se trouve le ComboBox (Feuille ou UserForm)
            Set c = Plage.FindNext(c)
        Loop While Not c Is Nothing And c.Address <> strAdd
    End If
     
    End Sub

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2012
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2012
    Messages : 50
    Points : 34
    Points
    34
    Par défaut
    Merci beaucoup, ça marche parfaitement!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 19/10/2009, 23h19
  2. [MySQL] recherche un mot dans une table
    Par hubidev dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 17/03/2006, 20h06
  3. recherche de mots dans une chaine de caractères
    Par jeanfrancois dans le forum Langage
    Réponses: 5
    Dernier message: 10/02/2006, 10h47
  4. Recherche un mot dans une chaine de caractere
    Par jean tof dans le forum Langage
    Réponses: 2
    Dernier message: 31/01/2006, 11h34
  5. [Regex]Recherche de mots dans une chaîne
    Par lionel69 dans le forum Collection et Stream
    Réponses: 7
    Dernier message: 17/11/2005, 18h20

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