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

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
 

Paritec

XLDnaute Barbatruc
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:

Discussions similaires

Réponses
12
Affichages
532