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 :

Pb VBA Excel équivalent à RechercheV


Sujet :

Macros et VBA Excel

Vue hybride

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

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut Pb VBA Excel équivalent à RechercheV
    Bonjour à tous,

    Je viens vers vous car, comme énoncé plus haut, je rencontre un problème dans mes macros Excel. Je vous explique :

    J'ai créé plusieurs feuilles sur mon fichier Excel :
    - Une feuille "Références clients" qui comporte les colonnes suivante : Code client, nom, adresse, CP, VILLE, Pays, téléphone, e-mail

    - Une feuille "Devis du client"

    J'aimerai, après avoir mentionné le code du client (ex: "ESPVCLT007") dans un InputBox, qu'il aille me chercher cette référence dans la feuille "Référence clients" et qu'il, lorsqu'il me l'a trouvé, me l'inscrive dans la cellule (10 , 1) de ma feuille "Devis de client". Dans le même temps, j'aimerai qu'il me récolte toutes les informations correspondantes à ce code de référence client (son nom, adresse, CP etc...) et qu'il me les retranscrive dans des cellule précises de ma feuille "Devis du client".

    Tout cela retranscrit dans un Do While

    J'ai déjà eu une petite idée, mais cela n'aboutit à rien, je suis perdue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        Do While Worksheets("Références clients").Cells(i, 1).Value <> ""
            If Cells(i, j).Value = "ESPVCLT00" Then
            retrouve = "ESPVCLT00"
            compteur = compteur + 1
            End If
        Loop
    Auriez-vous une petite idée de ce que je dois inscrire ?

    En vous remerciant d'avance,

    Marina.

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 171
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 171
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Je me réfère au titre de ton sujet " Pb VBA Excel équivalent à RechercheV".
    Toutes les formules d'excel (à l'exception de celles qui ont leur équivalent VBA) peuvent être utilisée avec Application.WorksheetFunction suivi du nom de la formule en anglais soit VLookup pour RECHERCHEV
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 2
    Par défaut Est-ce impossible avec un "Do While" ?
    Merci de m'avoir répondu aussi vite,

    Cependant, j'aimerai savoir si cela est quand même possible avec un Do While ? Je suis assez novice en la matière, donc cela reste assez flou pour moi... et je trouve cela plus simple.

    Je t'ai mis en pièce jointe mon fichier Excel, avec les macros que j'ai déjà créé pour que tu puisses mieux cerner mon problème.
    Fichiers attachés Fichiers attachés

  4. #4
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut pb VBA Excel équivalent rechercheV
    Bonjour,

    voici un code élémentaire qui marche pour l'avoir testé.
    la boucle while n'a aucun intéret dans ce problème.

    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
     
    Sub devis()
    ' code très élémentaire qui doit être amélioré
    ' la boucle do while n'a aucun intérêt dans ce cas
    Dim trouve As Integer
    Dim reponse As String
     
    reponse = InputBox(" donner la référence")
     
    Sheets("ref").Activate
    If UCase(reponse) <> "" Then ' pour le cas ou les ref seraient en majuscule la reponse est convertie
        'cherche la ligne de la reference si elle existe
        trouve = Application.Match(reponse, Range("A2:A20"), 0)
    Else
        MsgBox " référence non trouvée"
    End If
     
    'range les differentes valeurs trouvées dans devis (les cellules sont à adapter)
    With Sheets("devis")
       .Range("a1") = Cells(trouve + 1, 1).Value   ' le . devant range -> Sheets("devis").range()
       .Range("b1") = Cells(trouve + 1, 1).Offset(0, 1).Value ' "trouve +1" car nous commencons la recherche en A2
       .Range("C1") = Cells(trouve + 1, 1).Offset(0, 2).Value
    End With
    End Sub
    Cordialement,

  5. #5
    Expert confirmé
    Avatar de Oliv-
    Homme Profil pro
    solution provider
    Inscrit en
    Mars 2006
    Messages
    4 093
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : solution provider

    Informations forums :
    Inscription : Mars 2006
    Messages : 4 093
    Billets dans le blog
    20
    Par défaut
    Salut,
    essaye plutot avec find

    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
     
    Sub test1()
     
     
        Dim client As Range
        Dim ou As Range
        retrouve = "ESPVCLT00"
     
        Set ou = Worksheets("Référence clients").Range("a:a").EntireColumn
        Set client = ou.Find(retrouve, ou.Range("a1"), , xlWhole, xlByRows, xlNext, False)
        If Not TypeName(client) = "Empty" And Not TypeName(client) = "Nothing" Then
            Nom = client.Offset(0, 1).Value
            adresse = client.Offset(0, 2).Value
            CP = client.Offset(0, 3).Value
            VILLE = client.Offset(0, 4).Value
            Pays = client.Offset(0, 5).Value
            téléphone = client.Offset(0, 6).Value
            Email = client.Offset(0, 7).Value
     
        End If
    End Sub
    Have a nice day. Oliv'
    Votre réponse est peut être dans mon blog !
    https://www.developpez.net/forums/blogs/191381-oliv-/

  6. #6
    Membre Expert
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2013
    Messages
    885
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2013
    Messages : 885
    Par défaut pb VBA Excel équivalent rechercheV
    re....,

    j'ai le sentiment que tu as inversé les deux terme de l'égalité dans ta seconde sub qui est censé insérer dans devis si je comprends bien.

    Me trompe-je ?

    cordialement,

  7. #7
    Membre confirmé
    Femme Profil pro
    Analyste-Développeur BI
    Inscrit en
    Mai 2011
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Développeur BI

    Informations forums :
    Inscription : Mai 2011
    Messages : 61
    Par défaut
    Bonjour,

    Si j'ai bien compris la problématique, voici un petit exemple qui te donnera peut-être une piste pour démarrer.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. problème VBA Excel rempalcer rechercheV
    Par sharox dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/11/2013, 09h03
  2. VBA Excel - équivalent somme si
    Par cdurep dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 26/04/2013, 18h30
  3. VBA Excel 2010 : RechercheV et Filtre
    Par toto92 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 04/03/2013, 10h16
  4. Réponses: 3
    Dernier message: 02/07/2012, 11h36
  5. [VBA Excel] Effacer rapidement une feuille
    Par Invité dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 24/10/2002, 13h12

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