[Excel] Méthode Autofill dans une macro

Résolu/Fermé
Arn's Messages postés 23 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 26 août 2009 - 19 août 2009 à 13:16
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 - 19 août 2009 à 13:43
Bonjour à tous,

Dans une macro, je souhaite utiliser la méthode Autofill pour remplir automatiquement certaines cellules. Le problème est que je ne connais pas a priori le nombre de cellules à remplir.

Je m'explique :

Lorsque j'utilise un fichier1 (dont les cellules A1 à A10 sont remplies) pour enregistrer ma macro, je remplis les cellules B1 à B10 à l'aide de la poignée de recopie et j'obtiens entre autres la ligne suivante :

Selection.AutoFill Destination:=Range("B1:B10")


Mais lorsque j'applique la macro à un fichier2 dont les cellules A1 à A15 sont remplies, la macro ne me remplit que les cellules B1 à B10.

Merci d'avance pour vos réponses. Je reste à disposition pour d'éventuelles questions.
A voir également:

2 réponses

Arn's Messages postés 23 Date d'inscription lundi 17 août 2009 Statut Membre Dernière intervention 26 août 2009 7
19 août 2009 à 13:42
Ah c'est bon j'ai trouvé. Pour info, il suffit de calculer N=nombre de lignes, et de remplacer 10 par N :

Dim NbLignes
NbLignes = ActiveSheet.UsedRange.Rows.Count
    
Range("B1").Select
Selection.AutoFill Destination:=Range("B1:B" & NbLignes), Type:=xlFillDefault
Range("B1:B" & NbLignes).Select
4
pijaku Messages postés 12263 Date d'inscription jeudi 15 mai 2008 Statut Modérateur Dernière intervention 4 janvier 2024 2 750
19 août 2009 à 13:43
Bonjour,
Vous pouvez utiliser ceci :

Dim numlign As Integer
numlign = Sheets("Feuil1").Range("A65536").End(xlUp).Row ' renvoie le numéro de la dernière ligne "non vide" de la colonne A
Selection.AutoFill Destination:=Range("B1:B" & numlign)
1