Bonjour,
Je pique des codes à gauche à droite pour faire des macros. Je suis une pure bidouilleuse.
J'ai le code suivant qui me sert à faire une recherche à partir d'une cellule cible. Par contre j'aimerai bien copier seulement des colonnes E à J et de M à S (en clair pas toute la ligne) de la feuille Base Clés sur la ligne A26 de la feuille Modification Clés.
Est ce que quelqu'un sait comment je dois faire ?
Je pique des codes à gauche à droite pour faire des macros. Je suis une pure bidouilleuse.
J'ai le code suivant qui me sert à faire une recherche à partir d'une cellule cible. Par contre j'aimerai bien copier seulement des colonnes E à J et de M à S (en clair pas toute la ligne) de la feuille Base Clés sur la ligne A26 de la feuille Modification Clés.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LastLig As Long
Application.ScreenUpdating = False
'Si la cellule modifié est L16
If Target.Address = "$L$16" Then
'Les données seront copiées à partir de la ligne 26 de la feuille Consultation
Range("A26").CurrentRegion.Clear
'Si la cellule L16 est non vide
If Target.Value <> "" Then
With Sheets("Base Clés")
'On enlève l'éventuel filtre automatique
.AutoFilterMode = False
'la ligne de la dernière cellule remplie de la colonne A de feuille Base
LastLig = .Cells(.Rows.Count, "A").End(xlUp).Row
'On filtre sur la colonne 12 de la feuille base, en prenant comme critère la valeur de L16 (Target)
.Range("L1:L" & LastLig).AutoFilter Field:=1, Criteria1:=Target.Value
'On copie les lignes issues du filtre auto (sans la ligne des titres)
If .Range("A1:A" & LastLig).SpecialCells(xlCellTypeVisible).Count > 1 Then
.Range("A2:A" & LastLig).SpecialCells(xlCellTypeVisible).EntireRow.Copy Range("A26")
End If
'On enlève notre filtre automatique
.AutoFilterMode = False
End With
End If
End If
End Sub
Est ce que quelqu'un sait comment je dois faire ?
Dernière édition: