Problème avec autofill

Bonjour le forum,

Voilà dans la macro de mon fichier excel je veux inclure une "autofill".

J'ai fait mes recherche sur internet, j'ai même enregistrer une macro pour voir comment ça ce decompose, mais quand je lance j'ai un probleme.

        Range("D5").FormulaR1C1 = _
        "=IF(ISNUMBER(SEARCH(""colla"",a5)),""risque de projection"",IF(ISNUMBER(SEARCH(""soud"",a5)),""danger"",""""))"
        Range("D5").AutoFill Destination:=Range("D5:D1086"), Type:=xlFillDefault

Je n'est pas de msg box pour me dire une erreur, mais il ne se passe rien tout simplement

En attente de vous lire.

Cdlt

Bonjour,

Essaie comme cela

Range("D5").Formula = _
"=IF(ISNUMBER(SEARCH(""colla"",A5)),""risque de projection"",IF(ISNUMBER(SEARCH(""soud"",A5)),""danger"",""""))"
Range("D5").AutoFill Destination:=Range("D5:D1086"), Type:=xlFillDefault

A+

Merci de cette réponse, mais elle ne fonctionne pas,

Je ne peux pas joindre mon fichier car il y a une centaine de millier de lignes, et pèse donc très lourd.

La formule fait exactement comme celle que j'avais mise, la macro fonctionne, mais n'ecrit pas la formule, et ne la déroule pas.

J’ai testé le code sur un cas simple de procédure appliquée sur le classeur actif et la feuille active ... pas de problème.

Tu peux tenter de spécifier le classeur et la feuille concernée.

Exemple pour la feuille "Feuil1" :

    With ThisWorkbook.Worksheets("Feuil1")
        .Range("D5").Formula = _
        "=IF(ISNUMBER(SEARCH(""colla"",A5)),""risque de projection"",IF(ISNUMBER(SEARCH(""soud"",A5)),""danger"",""""))"
        Range("D5").AutoFill Destination:=.Range("D5:D1086"), Type:=xlFillDefault
    End With

Si ça ne marche pas, envoie un fichier allégé (sans données confidentielles). Quelques lignes suffisent.

A+

Alors j'ai re enregistrer sous, puis suprimer un paquet de données, il me reste environ 50 000 ligne vides, et je n'arrive pas a supprimer ces lignes pour encore plus allege le fichier.

car un fichier de 11 Mo ... voilà quoi.

As-tu testé le dernier code ?

(j'ai rajouté un point oublié avant le Range("D5").AutoFill)

    With ThisWorkbook.Worksheets("Feuil1")
        .Range("D5").Formula = _
        "=IF(ISNUMBER(SEARCH(""colla"",A5)),""risque de projection"",IF(ISNUMBER(SEARCH(""soud"",A5)),""danger"",""""))"
        .Range("D5").AutoFill Destination:=.Range("D5:D1086"), Type:=xlFillDefault
    End With 

A+

Ah nickel ça marche super.

Mais afin de comprendre, pourrait tu m'expliquer pourquoi mon code ne marcher pas? or que je l'avais copier d'un "enregistrement de macro".

Merci encore

Cdlt

Je vois 2 sources de problème dans ton code :

1) Si tu emploies FormulaR1C1, tu dois utiliser les notations de style R1C1 pour définir la formule (voir l’aide sur Range.FormulaR1C1).

2) Dans le cas où tu effectues des traitements sur plusieurs feuilles ou plusieurs classeurs, tu dois spécifier sur quelle feuille et quel classeur la procédure doit s'appliquer.

A+

D'accord,

Merci beaucoup de ton aide.

Bonne apres-midi

Cdlt

Rechercher des sujets similaires à "probleme autofill"