J'ai besoin de faire un Selection.AutoFill dans une colonne en fonction de la longueur de ses colonnes voisines (qui peuvent varier).
Un RECHERVEV() me retourne une date (jj/mm/aa) dans la cellule H125, et je veux l'étendre plus loin dans la colonne en l'arrêtant à la ligne correspondant à la dernière de la colonne voisine.
J'ai déjà essayé ceci:
i = Range("E7").End(xlDown).Offset(0, 1).Select
Selection.AutoFill Destination:=Range("H125:H" & i), Type:=xlFillDefault
Donc à moins qu'il y ait une autre solution, mon problème vient du fait que je ne sais pas déclarer la variable i correctement.
Merci.
A voir également:
Selection.AutoFill Colonne à coordonées dynamiques
Dim i As Range
set i = Range("E7").End(xlDown).Offset(0, 1)
i.AutoFill Destination:=Range("H125:H" & i), Type:=xlFillDefault
Dans ce deuxième cas la variable i est dimensionné pour contenir un objet de type range. Cela peut donc etre une cellule ou une plage de cellules qui sont des objets. Comme toute variable de type objet le signe = ne suffit pas pour lui assigner un objet. Pour cela il faut utiliser "Set"
Préfère la deuxième solution a la première car cela évite les sélections source d'erreurs de lenteur et d'épilepsie.
une solution intermediaire pour repondre à ta question:
Dim i As Long
Range("E7").End(xlDown).Offset(0, 1).Select
i = Selection.row 'i prend ici, comme valeur, le numero de ligne de la selection
Selection.AutoFill Destination:=Range("H125:H" & i), Type:=xlFillDefault