Problème de Formule

Résolu
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
Configuration: Windows XP
Internet Explorer 6.0
Excel 2003

6 réponses

  1. 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
    1. merci Ivanhoe, j'ai essayé mais toujours le même le problème et le même message
      0
      1. 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
        1. Contributeur
          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
          1. 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
            1. 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