[Excel] Méthode Autofill dans une macro

Résolu
Arn's Messages postés 25 Statut Membre -  
pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   -
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.

2 réponses

  1. Arn's Messages postés 25 Statut Membre 7
     
    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
  2. pijaku Messages postés 13513 Date d'inscription   Statut Modérateur Dernière intervention   2 773
     
    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