Incrémentation de formile en VBA

Fermé
Mistral_13200 Messages postés 636 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 15 novembre 2024 - 2 déc. 2022 à 12:08
Mistral_13200 Messages postés 636 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 15 novembre 2024 - 2 déc. 2022 à 18:31

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

M-12 Messages postés 1331 Date d'inscription lundi 22 septembre 2008 Statut Membre Dernière intervention 8 avril 2023 283
2 déc. 2022 à 15:14

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
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
Modifié le 2 déc. 2022 à 15:43

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
Mistral_13200 Messages postés 636 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 15 novembre 2024 4
2 déc. 2022 à 17:00

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
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
Modifié le 2 déc. 2022 à 17:47

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

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

Posez votre question
Mistral_13200 Messages postés 636 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 15 novembre 2024 4
2 déc. 2022 à 17:48

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
Le Pingou Messages postés 12225 Date d'inscription mercredi 11 août 2004 Statut Contributeur Dernière intervention 6 décembre 2024 1 452
2 déc. 2022 à 18:11

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
Mistral_13200 Messages postés 636 Date d'inscription mardi 5 août 2008 Statut Membre Dernière intervention 15 novembre 2024 4
2 déc. 2022 à 18:31

Mille merci à toi ça marche ...

Bonne soirée

Mistral

0