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] VlookUp vers une autre feuille [Toutes versions]


Sujet :

Macros et VBA Excel

  1. #1
    Membre averti
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2020
    Messages : 14
    Par défaut [VBA] VlookUp vers une autre feuille
    Bonjour,

    J'aimerais savoir si il est possible d'utiliser la fonction VlookUp pour transférer une valeur d'une colonne d'une feuille précédente vers la colonne de la feuille suivante.

    Si oui, comment la synthaxe se fait dans VBA svp ?

    Mes remerciements,

    Marc

  2. #2
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 556
    Par défaut
    Bonjour

    Oui, c'est possible. La syntaxe est exactement la même que pour la fonction RECHERCHEV dans Excel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Sub MonVLookUp()
    Feuil2.Range("B1") = Application.WorksheetFunction.VLookup(Feuil2.Range("A1"), Feuil1.Range("A1:B2"), 2, False)
    End Sub
    Sinon, petite astuce, il est possible de taper VLookUp dans le VBA, puis de sélectionner ce mot et d'appuyer sur la touche F1 de son clavier .
    Cela nous amène dans l'aide d'Excel VBA à cette page :
    https://docs.microsoft.com/fr-fr/off...6)%26rd%3Dtrue

    En espérant que cela puisse aider.

    Bonne journée

    Pierre Dumas

  3. #3
    Membre averti
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2020
    Messages : 14
    Par défaut
    Merci beaucoup pour l'astuce, cela va beaucoup m'aider !

    Cependant , cela ne me dit pas comment passer d'une feuille à une autre sans passer par le nom de la feuille !

    Ceci dit la solution proposée réponds déjà à une grosse partie de ma question et je vous remercie !

    Amicalement,

    marc

  4. #4
    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 114
    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 114
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Cependant , cela ne me dit pas comment passer d'une feuile à une autre sans passer par le nom de la feuille !
    Qu'entends-tu par là ?
    Utiliser la fonction pour une autre feuille ?
    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

  5. #5
    Membre averti
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2020
    Messages : 14
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,

    Qu'entends-tu par là ?
    Utiliser la fonction pour une autre feuille ?
    C'est ça, en gros utiliser la RECHERCHEV pour que les valeurs de la feuille -1 soit copiée dans la feuille suivante, donc par exemple :
    ligne 3 feuille 2 a les même données que la ligne 7 feuille 3 , donc valeur A3 feuille 2 copiée dans la cellule A7 feuille 3.

  6. #6
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 556
    Par défaut
    Citation Envoyé par Numenor_Illuvatar Voir le message
    Cependant , cela ne me dit pas comment passer d'une feuile à une autre sans passer par le nom de la feuille !
    Bonjour

    Par rapport à la feuille active, pour obtenir le nom VBA de la feuille précédente, il est possible d'utiliser le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Previous.CodeName
    Pour avoir le nom Excel de la feuille précédente, il faut utiliser :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Previous.Name
    En étant sur la feuille active (celle où l'on veut recevoir la valeur de la feuille précédente), on peut donc utiliser le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("C1") = Application.WorksheetFunction.VLookup(ActiveSheet.Range("A1"), ActiveSheet.Previous.Range("A1:B2"), 2, False)
    Cela ne marche pas, bien entendu, sur la première feuille.

    Je pense que cela correspond au besoin

    Pierre Dumas

  7. #7
    Membre averti
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2020
    Messages : 14
    Par défaut
    Bonjour ,

    Merci pour votre réponse je ne connaissais pas le code Cependant , même en essayant d'adapter votre code je n'ai toujours pas réussit à transférer les valeurs colonne A, je met en PJ le tableau en question qui illustre parfaitement la situation, vous verrez que les valeurs de la feuille 1 et 2 ne sont pas entièrement identique, certaines lignes se répètent , le but est de transférer les valeurs de la colonne A de la feuille 1 dans les lignes correspondantes de la feuille 2 , sans passer par le nom des feuilles.
    Je vous met en pièce jointe le tablau en question
    TEST_TRANSFERT_COMMENTAIRE.xlsx

    Marc

  8. #8
    Membre Expert
    Homme Profil pro
    Formateur et développeur bureautique
    Inscrit en
    Mars 2007
    Messages
    1 556
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Formateur et développeur bureautique
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 556
    Par défaut
    Bonjour

    Cela est tout à fait normal de ne pas pouvoir récupérer les valeurs de la colonne A, car elles se trouvent à GAUCHE de la colonne de recherche. Et cela est IMPOSSIBLE avec RECHERCHEV.
    Ne sachant pas quelle version d'Excel vous avez, je vous propose la syntaxe suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Range("A3") = Application.WorksheetFunction.Index(ActiveSheet.Previous.Range("A2:A20"), Application.WorksheetFunction.Match(ActiveSheet.Range("B3"), ActiveSheet.Previous.Range("B2:B20"), 0))
    Je vous laisse finir de l'adapter pour votre besoin concret.

    Cette fois-ci cela devrait aller mieux

    Bonne journée

    Pierre Dumas

  9. #9
    Membre averti
    Homme Profil pro
    Responsable de compte
    Inscrit en
    Mars 2020
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable de compte
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2020
    Messages : 14
    Par défaut
    La fonction match est intéressante ! Je vous remercie pour votre aide je vais continuer de mon côté ça va me former !
    Passez un agréable week-end

    Cordialement,

    Marc

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

Discussions similaires

  1. [XL-2013] Copier cellules vers une autre feuille - VBA
    Par antgrandj dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 15/04/2020, 11h51
  2. [XL-2016] Copie et transfert de données vers une autre feuille à l'aide d'un code VBA
    Par cool762 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/10/2017, 09h27
  3. [XL-2013] Copier plage de cellules vers une autre feuille - VBA
    Par picture dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 02/05/2017, 16h27
  4. TextBox vers une autre feuille
    Par chrnoe dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 01/01/2009, 22h01
  5. copier des cellule d'une feuille vers une autre feuille
    Par DIDIDIDA dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 02/04/2008, 12h13

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