j'ai un tableau avec des cases remplis dans la ligne 1 : par exemple de A1 à Z1
Dans ligne 2 (cellule A2) j'ai fait un calcul que j'aimerais automatiser avec du code jusqu'à la cellule Z2
on peut faire comme ça :
Range("A2").Select
Selection.AutoFill Destination:=Range("A2:Z2"), Type:=xlFillDefault
mais en fait le nombre de valeurs peut varier dans la ligne 1 (de A1 à ??)
il faudrait donc que l'autofill de la ligne 2 se fasse automatiquement jusqu'à la dernière cellule de la ligne 1.
le problème avec autofill avec des valeurs (Suites logiques) et non pas des formules, c'est qu'excel doit connaître la logique de la suite pour la réaliser.
avec les formules c'est plus simple avec filldown, right
donc pour lui 2 cellules suffisent :
Code:
Sub essai()
Range("A2").Value = "1"
Range("B2").Value = "3"
Range("A2:B2").autofill Destination:=Range("A2:L2"), Type:=xlFillDefault
End Sub
le problème avec autofill avec des valeurs (Suites logiques) et non pas des formules, c'est qu'excel doit connaître la logique de la suite pour la réaliser.
avec les formules c'est plus simple avec filldown, right
donc pour lui 2 cellules suffisent :
Code:
Sub essai()
Range("A2").Value = "1"
Range("B2").Value = "3"
Range("A2:B2").autofill Destination:=Range("A2:L2"), Type:=xlFillDefault
End Sub
merci,
ouais ça marche mais je souhaite faire ce processus sur plusieurs feuilles, la fin de l'autofill varie suivant les feuilles, donc il faudrait un autofill de A2 jusqu'à la dernière cellule non vide de la première ligne
Sub essai()
Range("A2").Value = "1"
Range("B2").Value = "3"
Range("A2:B2").autofill Destination:=Range("A2:L" & range("IV1").end(xltoleft).column), Type:=xlFillDefault
End Sub
mais cela suppose qu'il n'y a pas de cellule vide dans la ligne 1 avant la dernière cellule.
sinon,
Selection.AutoFill Destination:=Range(Cells(2, 1), Cells(2, Cells(1, 16384).End(xlToLeft).Column)), Type:=xlFillDefault
permet d'avoir une cellule vide dans la collection