XL 2019 Etirer vers la droite une recherche via VBA (macro)

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 !

Jo Mortu

XLDnaute Nouveau
Bonjour à tous,

Je vous sollicite car je souhaiterai créer une macro qui me permette de réaliser une rechercher V pour étirer vers la droite, ce qui me permettrait de compléter l'ensemble de mes colonnes.

Si vous avez une idée?

Je vous communique un exemple de fichier:
-> L'onglet BDD final: correspond à mon fichier final
-> L'onglet Source: le fichier source avec toutes infos que je souhaite rapatrier

Merci par avance de votre retour.

Bonne journée
 

Pièces jointes

Solution
Bonjour Jo Mortu,
En PJ un essai. La macro s'active lorsqu'on sélectionne la feuille "BDD finale".
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    With Sheets("BDD finale")
        For L = 2 To .Range("A65500").End(xlUp).Row
            If Not IsError(Application.Match(.Cells(L, "A"), Sheets("Source").Range("A:A"), 0)) Then
                IndexR = Application.Match(.Cells(L, "A"), Sheets("Source").Range("A:A"), 0)
                For C = 2 To 8
                    .Cells(L, C) = Sheets("Source").Cells(IndexR, C)
                Next C
            End If
        Next L
    End With
End Sub
Bonjour Jo Mortu,
En PJ un essai. La macro s'active lorsqu'on sélectionne la feuille "BDD finale".
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    With Sheets("BDD finale")
        For L = 2 To .Range("A65500").End(xlUp).Row
            If Not IsError(Application.Match(.Cells(L, "A"), Sheets("Source").Range("A:A"), 0)) Then
                IndexR = Application.Match(.Cells(L, "A"), Sheets("Source").Range("A:A"), 0)
                For C = 2 To 8
                    .Cells(L, C) = Sheets("Source").Cells(IndexR, C)
                Next C
            End If
        Next L
    End With
End Sub
 

Pièces jointes

Bonjour Jo Mortu,
En PJ un essai. La macro s'active lorsqu'on sélectionne la feuille "BDD finale".
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    With Sheets("BDD finale")
        For L = 2 To .Range("A65500").End(xlUp).Row
            If Not IsError(Application.Match(.Cells(L, "A"), Sheets("Source").Range("A:A"), 0)) Then
                IndexR = Application.Match(.Cells(L, "A"), Sheets("Source").Range("A:A"), 0)
                For C = 2 To 8
                    .Cells(L, C) = Sheets("Source").Cells(IndexR, C)
                Next C
            End If
        Next L
    End With
End Sub


Bonsoir Sylvanu,

Merci beaucoup pour votre retour. J'essaie et je reviens vers vous.

Bonne soirée
 
Bonjour Jo Mortu,
En PJ un essai. La macro s'active lorsqu'on sélectionne la feuille "BDD finale".
VB:
Sub Worksheet_Activate()
    Application.ScreenUpdating = False
    With Sheets("BDD finale")
        For L = 2 To .Range("A65500").End(xlUp).Row
            If Not IsError(Application.Match(.Cells(L, "A"), Sheets("Source").Range("A:A"), 0)) Then
                IndexR = Application.Match(.Cells(L, "A"), Sheets("Source").Range("A:A"), 0)
                For C = 2 To 8
                    .Cells(L, C) = Sheets("Source").Cells(IndexR, C)
                Next C
            End If
        Next L
    End With
End Sub


Bonsoir Sylvanu,

Je reviens vers vous pour vous remercier, çà fonctionne. C'est parfait.

J'ai adapté le code pour la faire fonctionner avec un bouton.

Merci beaucoup.

Bonne soirée
 
- 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

  • Question Question
Microsoft 365 Envoi mail via vba
Réponses
5
Affichages
638
  • Question Question
Microsoft 365 macro vba sumifs
Réponses
5
Affichages
630
Retour