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
	
	
	
	
	
		
	
		
			
		
		
	
				
			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