VBA Excel: Etendre une formule jusqu'à la dernière ligne
Résolu/Fermé
Alice
-
10 déc. 2013 à 11:12
PhilDk Messages postés 20 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 18 août 2014 - 18 août 2014 à 10:43
PhilDk Messages postés 20 Date d'inscription mardi 26 août 2008 Statut Membre Dernière intervention 18 août 2014 - 18 août 2014 à 10:43
A voir également:
- Proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger.
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. quelle formule sera en a9 ? - Meilleures réponses
- Virginie organise un rallye avec 30 équipes. elle veut créer un code pour désigner chaque équipe. elle a commencé à la main, mais elle voudrait le faire calculer à l'aide d'une formule. proposez une formule comportant une seule fonction et à recopier vers le bas dans la colonne a du fichier à télécharger. - Meilleures réponses
- Liste déroulante excel - Guide
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle excel - Guide
4 réponses
pijaku
Messages postés
12263
Date d'inscription
jeudi 15 mai 2008
Statut
Modérateur
Dernière intervention
4 janvier 2024
2 751
10 déc. 2013 à 11:56
10 déc. 2013 à 11:56
Bon.
Il nous suffit donc maintenant, de remplacer dans
Profitons en pour supprimer ces .Select et autres Selection inutiles...
Exemple :
Auparavant, cependant, on cherche depuis tout à l'heure la dernière ligne non vide de la colonne C. Or, dans la colonne C, on cherche à remplir de formule... Donc, pour l'instant, la colonne C ne contient rien, si je ne m'abuse... Donc, cela n'a pas de sens de chercher la dernière ligne non vide de la colonne C.
Il nous suffit donc maintenant, de remplacer dans
Destination:=Range("C6:C450"), 450 par la variable DernLigne.
Profitons en pour supprimer ces .Select et autres Selection inutiles...
Exemple :
Dim DernLigne As Long DernLigne = Range("C" & Rows.Count).End(xlUp).Row Range("C6").AutoFill Destination:=Range("C6:C" & DernLigne)
Auparavant, cependant, on cherche depuis tout à l'heure la dernière ligne non vide de la colonne C. Or, dans la colonne C, on cherche à remplir de formule... Donc, pour l'instant, la colonne C ne contient rien, si je ne m'abuse... Donc, cela n'a pas de sens de chercher la dernière ligne non vide de la colonne C.
10 déc. 2013 à 17:04
Sub Extension_formule()
Dim DernLigne As Long
DernLigne = Range("C" & Rows.Count).End(xlUp).Row
Range("C6").AutoFill Destination:=Range("C6:C" & DernLigne)
End Sub
Il en est ressorti un message d'erreur, à savoir: "la méthode Autofill de la classe range a échoué".
Par rapport à votre remarque qui suit, j'ai pensé qu'en répondant 450 à votre question de connaître le nombre s'affichant dans la boîte de dialogue en entrant le code suggéré en début de forum, à savoir:
Sub Test()
Dim DernLigne As Long
DernLigne = Range("C" & Rows.Count).End(xlUp).Row
MsgBox DernLigne
End Sub
vous en déduiriez aisément que la fameuse colonne C se trouve dans un tableau de 450 lignes. C'est d'ailleurs toute l'utilité d'étendre une formule...
11 déc. 2013 à 07:56
En fait, si vous souhaitez étendre votre formule de la ligne 6 à la ligne 450, c'est à priori que votre colonne C ne contient rien, à la base.
Ou alors vous avez des données (ou formules) que vous souhaitez remplacer.
Dans le premier cas (colonne C vide), il faut calculer la dernière ligne en fonction d'une autre colonne. Par exemple, la colonne B elle, peut être remplie.
Dans ce cas, le code devrait être celui-ci :
Dans le second cas, si votre colonne C est déjà remplie, le code donné précédemment est censé fonctionner.
Sauf si quelque chose l'en empêche...
Mais là, il s'agit d'une particularité de votre classeur que nous ne pouvons connaitre sans le voir...
J'ai fait des tests, et arrive à reproduire l'erreur "la méthode Autofill de la classe range a échoué", lorsque la colonne C ne contient qu'une formule en C6 et rien d'autre...
Retente avec le calcul de la dernière ligne d'une autre colonne et, si cela ne fonctionne toujours pas, fait nous passer un classeur exemple grâce à cjoint.com.