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