Incrémenter des formules en VBA

Résolu/Fermé
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 25 janv. 2019 à 14:21
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 - 26 janv. 2019 à 10:10
Bonjour à tous,

Dans une feuille de calcule j’utilise la macros suivantes pour :
- Créer des formules.
- Copier ces formules dans des cellules.
- Incrémenter ces formules jusqu’à la dernière ligne.

Sub CalculFeuil()

' Déclaration variable.
Dim UR As String
Dim Club As String
Dim Adh As String
Dim NumFihier As String
Dim DernLigne As Integer

' Calcule dernière ligne sur la colonne AE.
DernLigne = Range("AE" & Rows.Count).End(xlUp).Row

' Déclaration des formules des formules.
UR = "=LEFT(RC[13],2)"
Club = "=MID(RC[12],4,4)"
Adh = "=RIGHT(RC[11],4)"
NumFihier = "=CONCATENATE(RC[-3],RC[-2],RC[-1],""01"")"

' Copie des formules aux emplacements.
Range("R2").Formula = UR
Range("S2").Formula = Club
Range("T2").Formula = Adh
Range("U2").Formula = NumFihier

' Incrémentation des formules jusqu'à la dernirer ligne.
Range("R2").AutoFill Destination:=Range("R3:D" & DernLigne), Type:=xlFillDefault
Range("S2").AutoFill Destination:=Range("S3:E" & DernLigne), Type:=xlFillDefault
Range("T2").AutoFill Destination:=Range("T3:F" & DernLigne), Type:=xlFillDefault
Range("U2").AutoFill Destination:=Range("U3:G" & DernLigne), Type:=xlFillDefault

End Sub



Quand je déroule la macro en « pas à pas » j’ai une erreur "La méthode AutoFill de classe range à échouée".

Je sèche, pouvez m’aider ?

Merci d’avance pour votre aide
Mistral

2 réponses

m@rina Messages postés 20040 Date d'inscription mardi 12 juin 2007 Statut Contributeur Dernière intervention 19 avril 2024 11 269
25 janv. 2019 à 14:39
Bonjour

Sans regarder ton code entier, je constate que tes Autofill ne contiennent pas, dans la destination, la cellule d'origine, ce qui est obligatoire.

Quand tu as une erreur comme ça, tu cliques sur la propriété ou la méthode (Autofill ici), et tu appuies sur F1 et tu as la réponse :
https://docs.microsoft.com/fr-fr/office/vba/api/excel.range.autofill?f1url=https%3A%2F%2Fmsdn.microsoft.com%2Fquery%2Fdev11.query%3FappId%3DDev11IDEF1%26l%3Dfr-FR%26k%3Dk%28vbaxl10.chm144083%29%3Bk%28TargetFrameworkMoniker-Office.Version%3Dv16%29%26rd%3Dtrue

m@rina
0
Mistral_13200 Messages postés 634 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 21 mars 2024 4
26 janv. 2019 à 10:10
Bonjour Marina,

Merci pour ta réponse qui m'a été très utile puisque ce matin, après une bonne nuit, j'ai réglé mon problème.
J'avais trouvé sur le Net une macro qui correspondait à mes besoins, mais je n'avais jamais utilisé les "Autofill", d'où mon erreur en l'adaptant à mon fichier.
J'ai souvent recours à la touche F1, mais j'avoue que j'ai quelque fois du mal à tout comprendre.

Encore une fois merci.
Mistral
0