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 :

Find copier et coller toutes les valeurs


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Find copier et coller toutes les valeurs
    Bonjour à tous,

    Voilà mon petit problème, je fait actuellement une recherche avec l'outil FIND sur vba, mais lorsque la recherche se fait il ne me copie que la première valeurs égale à ma recherche et je voudrais qu'il me copie toutes les valeurs égale à ma recherche, un petit casse-tête pour moi, quelqu'un pourrait-il m'aider à me dépatouiller de cette situation? =D

    Voilà mon début 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
    Sub RechercheTout()
     
     
    Sheets("Sheet1").Select
     
    Dim Valeur As String
    Dim CellTrouvee As Range
     
    Valeur = Application.InputBox("Quel Client recherchez-vous ?", "RECHERCHER")
    If Valeur = "" Then Exit Sub
    Set CellTrouvee = Range("S:S").Find(Valeur, Range("S1"), xlValues, xlWhole, xlByRows, xlNext)
    If CellTrouvee Is Nothing Then
        MsgBox "Client non répertorié!"
    Else
            If Find = Range("S:S").Find(Value) Then
                Sheets("Résultat de la recherche").Range("A3").EntireRow.ClearContents
                CellTrouvee.EntireRow.Select
                Selection.Copy
                Sheets("Résultat de la recherche").Range("A3").PasteSpecial
                Application.CutCopyMode = False
                Sheets("Résultat de la recherche").Activate
     
            End If
        MsgBox "Client Trouvé"
    End If
    End Sub
    Merci pour votre aide,

  2. #2
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 677
    Points
    18 677
    Par défaut

    Bonjour,

    comme indiqué dans l'aide de cette méthode, c'est tout à fait normal !
    Et consulter l'exemple de cette aide pour voir comment afficher les autres correspondances …

    Maintenant il y a bien mieux dans ce cas : un filtre avancé !
    Astuce : se placer sur la feuille de destination avant d'appeler le filtre avancé …
    En activant le Générateur de macros puis en effectuant la manipulation, une base de code est livrée sur un plateau !
    Sans compter le tutoriel dédié de ce site …

    _____________________________________________________________________________________________________
    Je suis Charlie - Je suis Bardo
    C'est parce que la vitesse de la lumière est plus rapide que celle du son que tant de gens paressent brillants avant d'avoir l'air con ! (Thomas Boishardy)

  3. #3
    Membre éprouvé
    Homme Profil pro
    Programmeur analyste
    Inscrit en
    Février 2009
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Canada

    Informations professionnelles :
    Activité : Programmeur analyste
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2009
    Messages : 546
    Points : 1 116
    Points
    1 116
    Par défaut
    Bonjour,
    Voilà votre sub modifié si vous ne voulez pas passer par les filtres ou filtres avancés.
    mais pour de grande plage, les filtres et filtres avancés sont plus rapide.

    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
    Sub Copy_Client()
     
        Dim Valeur As String
     
        Valeur = Application.InputBox("Quel Client recherchez-vous ?", "RECHERCHER")
        Range("S1").Select
        On Error Resume Next
            Range("S:S").Find(What:=Valeur, After:=ActiveCell, LookIn:=xlValues, LookAt _
                :=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _
                False, SearchFormat:=False).Activate
        If Err.Number Then
            MsgBox "Client non répertorié!"
            Exit Sub
        End If
        On Error GoTo 0
        ligne = ActiveCell.Row
        For i = 1 To Range("S" & Rows.Count).End(xlUp).Row
            If i > 1 Then
                Range("S:S").FindNext(After:=ActiveCell).Activate
                If ActiveCell.Row = ligne Then Exit For
            End If
            ActiveCell.EntireRow.Copy
            Sheets("Résultat de la recherche").Range("A" & 2 + i).PasteSpecial
     
        Next
     
        MsgBox i - 1 & " clients on été trouvé"
     
    End Sub

  4. #4
    Candidat au Club
    Homme Profil pro
    Autre
    Inscrit en
    Avril 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Autre

    Informations forums :
    Inscription : Avril 2015
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci Merci Merci,

    Désolé pour ma réponse tardive je n'ai pas pu me connecter avant, en vous remerciant encore =D !!!!!

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 08/09/2014, 07h41
  2. copier coller toutes les lignes d'un onglet vers un autre
    Par lili3183 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 15/11/2012, 18h31
  3. [Word] Problème de copier/couper/coller suivant les versions
    Par SkYsO dans le forum API, COM et SDKs
    Réponses: 6
    Dernier message: 07/12/2005, 21h11
  4. récupérer toutes les valeurs choisies ds un select multiple
    Par toome dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/10/2005, 13h45
  5. Requete SELECT : prendre toutes les valeurs pour 1 champ
    Par fab22montpellier dans le forum Requêtes
    Réponses: 1
    Dernier message: 02/09/2005, 09h12

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