Problème de Formule
Résolu
gham
Messages postés
48
Statut
Membre
-
Hebus -
Hebus -
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
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
A voir également:
- Problème de Formule
- Formule si ou - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Formule mathématique - Télécharger - Études & Formations
- Formule somme excel ligne - Guide
- Mise en forme conditionnelle excel formule - Guide
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
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
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
Sub FormulEtendtre()
With Worksheets("Tabscol").Range("G12")
.Formula = "=IF(F12="""","""",YEAR(F12))"
.AutoFill Destination:=Range("G12:G200"), Type:=xlFillDefault
End With
End Sub
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
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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.
tous mes respects à vous tous. eriiic, je vais essayer ta formule aussi bientôt et je vais te répondre.
Merci encore.
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
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