Incrémentation de formile en VBA

Mistral_13200 Messages postés 649 Statut Membre -  
Mistral_13200 Messages postés 649 Statut Membre -

Bonjour à tous,

J'ai une macro qui me retourne une "Erreur d'exécution '1004': la méthode AutoFill de la classe range à échoué". Cette macro à pour but de copier sur toute la colonne tant que la cellule de la colonne A n’est pas vide la formule créée.

DernLigne = Range("A" & Rows.Count).End(xlUp).Row

' Insertion de la colonne J et création en tête.

    Columns("J:J").Select

    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

    Range("J1").Select

    ActiveCell.FormulaR1C1 = "Rep. Origine" ' Nom de la colonne.

' Création formule répertoire d'origine.

    Range("J2").Select

    ActiveCell.FormulaR1C1 = "=VLOOKUP(RC2,Données!R4C2:R7C5,2,FALSE)"

    Selection.Copy

    Range("J2").AutoFill Destination:=Range("J2:I" & DernLigne)

Pouvez-vous m’aider.

D’avance merci.

Mistral

7 réponses

  1. M-12 Messages postés 1349 Statut Membre 285
     

    Bonjour,

    Si la formule est bonne teste ceci

    Dim F As string
        F = "=VLOOKUP(RC2,Données!R4C2:R7C5,2,FALSE)"
        Range("J2").Formula = F
        Range("J2").AutoFill Destination:=Range("J2:I" & Range("A" & Rows.Count).End(xlUp).Row), Type:=xlFillDefault
    0
  2. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     

    Bonjour,

    Juste au passage, votre code crée, entre autre, la formule, =RECHERCHEV($B3;Données!$B$4:$E$7;2;FAUX)

    et la génère sur la plage selon la valeur de la dernière ligne non vide en colonne A et c'est tout... ! Sans provoquer de message d'erreur.


    0
  3. Mistral_13200 Messages postés 649 Statut Membre 4
     

    Bonsoir à vous deux et merci pour vos réponses ...

    La proposition M-12 fonctionne puisque la formule est bien copier dans la bon colonne tant que la colonne A n'est pas vide mais le résultat de la formule ne s'affiche pas. Pourquoi ?????

    Le Pingou:

    Oui c'est exactement ça.

    0
  4. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     

    Bonjour,

    Sans voir les données pas possibles de voir ou est le problème...!

    Note: j'ai essayé de construire un fichier selon La formule et tout fonctionne correctement, les résultats s'affichent!


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

    Posez votre question
  6. Mistral_13200 Messages postés 649 Statut Membre 4
     

    Je viens de déposer un classeur test, voici le lien

    https://www.cjoint.com/c/LLcqT2mzTN7

    J'ai créé un formule toute bete si A est vide J est vide sinon OK.

    Le formule est bien incrémentée jusqu'à la dernier ligne de la colonne A, mais je n'ai pas le résultat ???

    0
  7. Le Pingou Messages postés 12276 Date d'inscription   Statut Contributeur Dernière intervention   1 478
     

    Bonjour,

    La ligne de code à corriger:

     F = "=IF(RC1="""","""",""OK"")" 'Formule pour le test
    
    doit être:
    
     F = "=IF($A2="""","""",""OK"")" 'Formule pour le test

    0
  8. Mistral_13200 Messages postés 649 Statut Membre 4
     

    Mille merci à toi ça marche ...

    Bonne soirée

    Mistral

    0