Problème de Formule

Résolu/Fermé
gham Messages postés 48 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 7 novembre 2021 - 13 févr. 2008 à 21:39
 Hebus - 28 mars 2008 à 11:59
Bonjour,
J'ai un classeur qui contient des UserForm sous VBA, et avec des textBox, Dans un TextBox je fais entrer les dates de naissnaces (Dans la colonne G) et je travaille avec la formule Annee() pour extraire l'année de naissance afin de calculer le nombre des élèves ayant un certain nombre.
Mais le problème est cette erreur qui apparaît quand je fais entrer une date Erreur d'execution "1004". La méthode AutoFill de la classe range a échoué.
La formule que j'ai entré sous vba dans une macro et que j'ai appelé dans le bouton ok

Sub FormulEtendtre()

Worksheets("Tabscol").Range("G12").Formula = "=IF(F12="""","""",YEAR(F12))"
Selection.AutoFill Destination:=Range("G12:G"), Type:=xlFillDefault


End Sub


S'il est quelqu'un qui peut me dire ou se trouve le problème et mille merci d'avance

6 réponses

Bonsoir,
l'erreur est dans l'adresse de la plage de destination

Selection.AutoFill Destination:=Range("G12:G"), Type:=xlFillDefault
est à corriger en
Selection.AutoFill Destination:=Range("G12:G200"), Type:=xlFillDefault
(par exemple, pour étendre la formule de G12 jusqu'à G200
0
gham Messages postés 48 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 7 novembre 2021 5
13 févr. 2008 à 22:01
merci Ivanhoe, j'ai essayé mais toujours le même le problème et le même message
0
Et comme ça ?


Sub FormulEtendtre()

With Worksheets("Tabscol").Range("G12")
.Formula = "=IF(F12="""","""",YEAR(F12))"
.AutoFill Destination:=Range("G12:G200"), Type:=xlFillDefault
End With

End Sub
0
eriiic Messages postés 24601 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 25 novembre 2024 7 244
13 févr. 2008 à 22:45
Bonsoir,

A mon avis tu as l'erreur car tu as une autre feuille de sélectionnée lorsque tu lances ta macro.
Commence par Worksheets("Tabscol").select
ou bien sers toi de l'aide excel si tu ne veux pas la sélectionner
Set sourceRange = Worksheets("Sheet1").Range("A1:A2")
Set fillRange = Worksheets("Sheet1").Range("A1:A20")
sourceRange.AutoFill Destination:=fillRange



eric
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
gham Messages postés 48 Date d'inscription samedi 8 décembre 2007 Statut Membre Dernière intervention 7 novembre 2021 5
14 févr. 2008 à 13:31
Merci les amis, j'ai essayé la formule de Ivanhoe et ça bien marché,
tous mes respects à vous tous. eriiic, je vais essayer ta formule aussi bientôt et je vais te répondre.
Merci encore.
0
Bonjour,
J'utilise Excel 2002

j'ai un probleme similaire, je cherche a realiser une macro qui me permette de realiser une copie incrementee d'une selection de cellulle selon un nombre place dans une autre cellule.

Plus precisement :

j'ai la valeur 3 en A1

j'aimerai faire une copie incrementee des celulles B1:B5 de 3 colonnes donc avoir au final :

B1:D5

lorsque j'utilise

Selection.Autofill Destination :=

quelque soit la syntaaxe que j'utilise j'0btiens l'erreur 1004.
Par exemple pour un cas simple de copie incrementee d'une seule cellule :
Cellule.Autofill Destination:=Cellule.Resize(Range("A1"),1)

Avez vous des idees sur l'erreur que j'ai pu faire ?

Merci d'avance
0