Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Selection.AutoFill Destination:=Range(ActiveCell.Offset(11, 0), ActiveCell.Offset(14, 4)), Type:=xlFillDefault marche pas...

3 réponses
Avatar
maatthieu
salut tout le monde, est-ce que l'un de vous pourrait-il me dire
pourquoi la subroutine ci-dessous ne marche pas ?


Sub Espadon()

Range(ActiveCell.Offset(11, 0), ActiveCell.Offset(14, 0)).Select
Selection.AutoFill Destination:=Range(ActiveCell.Offset(11, 0),
ActiveCell.Offset(14, 4)), Type:=xlFillDefault

End Sub

il y a une erreur lors de l'execution de la deuxieme ligne "echec lors
de l'autofill"...
la syntaxe est bonne pourtant non ?

3 réponses

Avatar
anonymousA
Bonjour,

peut-être mieux comme ca

Range(ActiveCell.Offset(11, 0), ActiveCell.Offset(14, 0)).AutoFill
Destination:=Range(ActiveCell.Offset(11, 0), ActiveCell.Offset(14, 4))

A+


On 13 fév, 13:37, wrote:
salut tout le monde, est-ce que l'un de vous pourrait-il me dire
pourquoi la subroutine ci-dessous ne marche pas ?

Sub Espadon()

Range(ActiveCell.Offset(11, 0), ActiveCell.Offset(14, 0)).Select
Selection.AutoFill Destination:=Range(ActiveCell.Offset(11, 0),
ActiveCell.Offset(14, 4)), Type:=xlFillDefault

End Sub

il y a une erreur lors de l'execution de la deuxieme ligne "echec lors
de l'autofill"...
la syntaxe est bonne pourtant non ?


Avatar
Garette
Bonjour,

L'aide indique que la destination doit etre incluse ..
---------------
Destination Objet Range obligatoire. Les cellules à remplir. La
destination doit inclure la plage source.
---------------
Donc la ligne :
Selection.AutoFill Destination:=Range(ActiveCell.Offset(11, 0),
ActiveCell.Offset(14, 4)), Type:=xlFillDefault
Pose probleme à cause de l'Offset qui nous fait quitter la cellule
selectionnée
Je propose plutot :
Selection.AutoFill Destination:¬tiveCell.Resize(5, 1)

NB - On peut également faire la meme chose sans faire des Select (qui
evitent de bouger dans la feuille et perdre du temps). Exemple :
Range("D16").AutoFill Destination:=Range("D16").Resize(5, 1)

Pour la premiere ligne je propose également qq chose du type :
ActiveCell.Offset(11, 0).Resize(4, 1).Select
Resize me parait plus pratique que Range d'Offset.

Enfin, au feeling, la ligne 1 et la ligne 2 n'ont pas l'air compatibles.
La premiere ligne de code fait une selection de plusieurs cellules et la
2eme va faire une recopie qui va sauter une partie des lignes selectionnées.
Mais je ne sais pas ce que tu cherches à faire exactement....


a écrit dans le message de news:

salut tout le monde, est-ce que l'un de vous pourrait-il me dire
pourquoi la subroutine ci-dessous ne marche pas ?


Sub Espadon()

Range(ActiveCell.Offset(11, 0), ActiveCell.Offset(14, 0)).Select
Selection.AutoFill Destination:=Range(ActiveCell.Offset(11, 0),
ActiveCell.Offset(14, 4)), Type:=xlFillDefault

End Sub

il y a une erreur lors de l'execution de la deuxieme ligne "echec lors
de l'autofill"...
la syntaxe est bonne pourtant non ?



Avatar
maatthieu
merci les gars,
Range(ActiveCell.Offset(11, 0), ActiveCell.Offset(14, 0)).AutoFill
Destination:=Range(ActiveCell.Offset(11, 0), ActiveCell.Offset(14,
Sheets("Track_definition").Cells(i, 8).Value - 2)),
Type:=xlFillDefault
marche nickel, c'est plus jolie, plus simple et plein de fruit
bonne journée ! :)