Autofill avec VBA

Laurent691

XLDnaute Nouveau
Slt à ts, j'ai un petit soucis :

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.

je sais pas si je suis clair :eek: dites le moi
 

soenda

XLDnaute Accro
Re : Autofill avec VBA

Bonjour à tous, wilfried_42, Laurent691

Peut-être comme ça
Code:
Range(Cells(2, 1), Cells(2, [A1].End(xlToRight).Column)).FillRight
Par habitude j'utilisais toujours la méthode AutoFill ... Jusqu'à aujourd'hui.

Merci wilfried :)

A plus
 

wilfried_42

XLDnaute Barbatruc
Re : Autofill avec VBA

re: à tous

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
 

Laurent691

XLDnaute Nouveau
Re : Autofill avec VBA

re: à tous

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
 

Jacou

XLDnaute Impliqué
Re : Autofill avec VBA

Bonjour,


Range("A2").Select
Selection.AutoFill Destination:=Range("A2", Cells(2, Range("A1").End(xlToRight).Column)), Type:=xlFillDefault

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

bonne fin de dimanche
 

Discussions similaires

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 294
Messages
2 086 895
Membres
103 404
dernier inscrit
sultan87