Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 VBA – Rechercher valeurs dans un tableau et les transférer dans un autre tableau

  • Initiateur de la discussion Initiateur de la discussion rounil09
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

rounil09

XLDnaute Occasionnel
Malgré mes essais à partir de code récupéré, je n’arrive pas à construire une macro qui fonctionne.

Quelqu’un peut-il me venir en aide ? Explications détaillées dans fichier joint
 

Pièces jointes

Bonjour,

Voici une solution:
VB:
Option Explicit

Sub MiseAJour()
    Dim wsPortF As Worksheet, wsMaj As Worksheet
    Dim rLabelPortF As Range, rLabelMaj As Range
    Dim rng As Range
    Dim iMatch As Variant
    
    Set wsPortF = Worksheets("PORTF")
    Set wsMaj = Worksheets("MAJ")
    
    With wsPortF: Set rLabelPortF = .Range(.[B2], .Cells(Rows.Count, "B").End(xlUp)): End With
    With wsMaj: Set rLabelMaj = .Range(.[B2], .Cells(Rows.Count, "B").End(xlUp)): End With
    
    For Each rng In rLabelPortF
        iMatch = Application.Match(rng, rLabelMaj, 0)
        If IsError(iMatch) Then
            MsgBox "La valeur " & rng & " ne se trouve pas dans la liste de mise à jour", vbInformation + vbOKOnly, "Mie à Jour"
        Else
            rng.EntireRow.Resize(, 8).Value = wsMaj.[A1:H1].Offset(iMatch).Value
        End If
    Next rng
 End Sub

Bonne chance,
--
LR
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…