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ée une macro de recherche


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Par défaut Crée une macro de recherche
    Bonjour à tous

    Apres plus d'un mois de recherche je me tourne vers vous pour avoir si possible une solution à mon probleme.
    Voilas j'ai un fichier excel qui représente sur les feilles 3,4,5,6 et 7 des standes de stockage qui sont reel sur le térrain et qui contienne des piéces avec des numéros de serie.
    Ce que je cherche a faire c'est sur la premiere feuille creer une recherche ou l'on insprit le numéros de série avec un bouton pour lancer la recherche et il faudrait que le résultat de la recherche me renvoie sur la feuille et mette en couleur la case ou se trouve le numéros de série recherche.
    Si quelqu'un à une idée, elle serai la bien venue
    Je joint le fichier excel avec un exemple sur la premiere feuille de se que je recherche.
    Merci d'avance pour votre aide
    Fichiers attachés Fichiers attachés

  2. #2
    Expert confirmé Avatar de jfontaine
    Homme Profil pro
    Contrôleur de Gestion
    Inscrit en
    Juin 2006
    Messages
    4 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Contrôleur de Gestion

    Informations forums :
    Inscription : Juin 2006
    Messages : 4 756
    Par défaut
    Bonjour,

    ci dessous une macro qui fait cela

    A mettre au niveau du code de la feuille "feuil1"

    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
    Sub Cherchemot()
     
    Dim sh As Worksheet
    Dim Rg As Range
    Dim i As Long
    Dim Adresse As String
    Dim strSearch As String
     
     
     
    'remet à blanc le fond de la précédente recherche
    On Error Resume Next
    For i = 1 To Me.Range("A" & Rows.Count).End(xlUp).Row
        Sheets(Me.Range("A" & i).Value).Unprotect
        Sheets(Me.Range("A" & i).Value).Range(Me.Range("B" & i).Value).Interior.ColorIndex = xlNone
        Sheets(Me.Range("A" & i).Value).Protect
        Me.Range("A" & i & ":B" & i).ClearContents
     
    Next i
    On Error GoTo 0
     
    i = 1
    'mot a chercher
    strSearch = Me.Range("F15").Value
     
    'Boucle sur chaque feuille du classeur
    For Each sh In ThisWorkbook.Worksheets
     
        'Ne cherche pas dans la feuille recevant le résultat
        If sh.Name <> Me.Name And sh.Name <> "Plan de l'atelier" Then
     
            'Recherche le mot dans la feuille
            Set Rg = sh.Cells.Find(what:=strSearch, lookat:=xlWhole)
     
            'Si on trouve le mot
            If Not Rg Is Nothing Then
                Adresse = Rg.Address
                Do
                    'Inscription des emplacements des références trouvées
                    Me.Range("A" & i).Value = sh.Name
                    Me.Range("B" & i).Value = Rg.Address
     
                    'Coloriage de la référence
                    sh.Unprotect
                    Rg.Interior.ColorIndex = 3
                    sh.Protect
     
                    i = i + 1
                    'Recherche suivant dans la meme feuille
                    Set Rg = sh.Cells.FindNext
                Loop While Not Rg Is Nothing And Rg.Address <> Adresse
            End If
     
        End If
     
    Next
     
    End Sub

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 2
    Par défaut
    merci jfontaine

    j'ai crée la macro elle fonctionne bien, mais j'aimerai aproter quelque amélioration que la recherche me redirige directement sur la feuille qui correspond et j'ai un petit probleme avec la case de recherche en effet une foi le numéros de serie inscrit je suis obligé de changer de case avant d'appuyer sur le bouton.
    Je continu mes recherches, mais si tu as une idée je suis preneur.

    Encore merci

    Je joint le fichier excel avec la macro
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert Avatar de aalex_38
    Inscrit en
    Septembre 2007
    Messages
    1 631
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 631
    Par défaut
    Sinon ca doit être possible sans macro, avec une formule :
    Cf. LIEN_HYPERTEXTE / INDEX / EQUIV / CELLULE("nomfichier") / TROUVE

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/02/2015, 07h36
  2. Crée une barre de recherche
    Par Encryptish dans le forum Windows Forms
    Réponses: 0
    Dernier message: 05/12/2013, 13h16
  3. macro qui crée une macro est ce possible
    Par redstoff dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 15/02/2011, 11h49
  4. Macro qui crée une macro
    Par ankoubzh dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 01/05/2009, 19h44
  5. macro qui crée une macro, est ce possible ?
    Par Djohn dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 11/07/2007, 09h43

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