Importer les données d'une plage en fonction des en-tete de colonne avec RechercheV

  • Initiateur de la discussion Initiateur de la discussion dlambert
  • 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 !

dlambert

XLDnaute Nouveau
Bonjour,

J'aimerais faire une importation des données d'une plage d'une autre feuille en fonctions des critères suivants avec la fonction "RechercheV":
- Critères des lignes > 0 ou <> ""
- Titre en-tête de colonne.

Pour ce fait je me suis servi d'une macro élaborée à partir de plusieurs macros trouvées sur ce forum:

!!! Pouvez vous m'aider à améliorer ce code?

Svp j'aimerais avoir la même macro:
1) Il va prendre les données dans un autre classeur en permettant de choisir le classeur et la feuille.
2) Il copie sur une autre feuille du même classeur.

Je suis très bricoleur en VBA ....voici le lien des fichiers exemple Free - Envoyez vos documents
Merci pour votre aide
Code:
Sub system()
Application.ScreenUpdating = False
Dim WsS As Worksheet, WsC As Worksheet
Dim Cel As Range, C As Range
    Set WsS = Worksheets("DELIV")
    Set WsC = Worksheets("SysT-MA4")
    For Each Cel In WsC.Range("P4:P" & WsC.Range("P" & Rows.Count).End(xlUp).Row)
        For Each C In WsS.Range("E3:E" & WsS.Range("E" & Rows.Count).End(xlUp).Row)
            'If InStr(Cel, C) > 0 And InStr(Cel, C) < Range("A2") Then
            If Cel = C Then
                Cel.Offset(0, 1) = C.Offset(0, Range("Q2"))
                Cel.Offset(0, 2) = C.Offset(0, Range("R2"))
                Cel.Offset(0, 3) = C.Offset(0, Range("S2"))
                Cel.Offset(0, 4) = C.Offset(0, Range("T2"))
                Cel.Offset(0, 5) = C.Offset(0, Range("U2"))
                Cel.Offset(0, 6) = C.Offset(0, Range("V2"))
                Cel.Offset(0, 7) = C.Offset(0, Range("W2"))
                Cel.Offset(0, 8) = C.Offset(0, Range("X2"))
                Cel.Offset(0, 9) = C.Offset(0, Range("Y2"))
                Cel.Offset(0, 10) = C.Offset(0, Range("Z2"))
                Cel.Offset(0, 11) = C.Offset(0, Range("AA2"))
                Cel.Offset(0, 12) = C.Offset(0, Range("AB2"))
                Cel.Offset(0, 13) = C.Offset(0, Range("AC2"))
                Cel.Offset(0, 14) = C.Offset(0, Range("AD2"))
                Cel.Offset(0, 15) = C.Offset(0, Range("AE2"))
                Cel.Offset(0, 16) = C.Offset(0, Range("AF2"))
                Cel.Offset(0, 17) = C.Offset(0, Range("AG2"))
                Cel.Offset(0, 18) = C.Offset(0, Range("AH2"))
                Cel.Offset(0, 19) = C.Offset(0, Range("AI2"))
                Cel.Offset(0, 20) = C.Offset(0, Range("AJ2"))
                Cel.Offset(0, 21) = C.Offset(0, Range("AK2"))
                Cel.Offset(0, 22) = C.Offset(0, Range("AL2"))
                Cel.Offset(0, 23) = C.Offset(0, Range("AM2"))
                Cel.Offset(0, 24) = C.Offset(0, Range("AN2"))
                Cel.Offset(0, 25) = C.Offset(0, Range("AO2"))
                Cel.Offset(0, 26) = C.Offset(0, Range("AP2"))
                Cel.Offset(0, 27) = C.Offset(0, Range("AQ2"))
                Cel.Offset(0, 28) = C.Offset(0, Range("AR2"))
                Cel.Offset(0, 29) = C.Offset(0, Range("AS2"))
                Cel.Offset(0, 30) = C.Offset(0, Range("AT2"))
                Cel.Offset(0, 31) = C.Offset(0, Range("AU2"))
                Cel.Offset(0, 32) = C.Offset(0, Range("AV2"))
                Cel.Offset(0, 33) = C.Offset(0, Range("AW2"))
                Cel.Offset(0, 34) = C.Offset(0, Range("AX2"))
                Cel.Offset(0, 35) = C.Offset(0, Range("AY2"))
                Cel.Offset(0, 36) = C.Offset(0, Range("AZ2"))
                Cel.Offset(0, 37) = C.Offset(0, Range("BA2"))
                Cel.Offset(0, 38) = C.Offset(0, Range("BB2"))

            Exit For
            End If
        Next C
    Next Cel
    Set WsC = Nothing: Set WsS = Nothing
    Application.ScreenUpdating = True
End Sub
 
Re : Importer les données d'une plage en fonction des en-tete de colonne avec Recherc

Bonjour Dlambert le forum
impossible de charger ton lien free !!! utilises Cjoint.com STP
Mais en tout cas pour ta macro actuellement elle ne peut te copier qu'une seule ligne, la dernière correspondant à tes critères !!!
a+
Papou🙂
 
Dernière édition:
- 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

Réponses
1
Affichages
649
Réponses
8
Affichages
940
  • Question Question
XL 2019 Code VBA
Réponses
12
Affichages
724
Retour