Mettre une formule dans une cell par macro ?

  • Initiateur de la discussion Initiateur de la discussion ppa76
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ppa76

XLDnaute Nouveau
Bonjour à toutes et tous,

Par macro, j'insère une colonne. -> OK
Toujours par la même macro, dans la première celleule de cette colonne, je dois mettre la formule '=D7+RECHERCHEV(CONCATENER(H7;'-';E7);Feuil1!Jour_Bq;2;0)' sans que le tiret entre double cote soit interprèté comme un signe moins.

Puis, je dois recopier cette cellule vers le bas jusqu'à la ligne 128.

Merci d'avance de votre aide précieuse.

Phil.
 
Bonjour PPA76,

Juste après l'insertion de la colonne (si tu as fait 'Columns('x:x').Insert Shift:=xlToRight'), essaie :

Code:
Selection.Cells(1, 1).Select
ActiveCell.FormulaR1C1 = _
        '=R[6]C[3]+VLOOKUP(CONCATENATE(R[6]C[7],''-'',R[6]C[4]),Feuil1!Jour_Bq,2,0)

Abel.

Edition :
Arf ! L'a trop bu de beaujolais nouveau mon x double point x.
Hi hi !

Message édité par: Abel, à: 17/11/2005 17:17
 
Abel,

J'ai testé mais j'ai un code erreur '1004' sur la dernière ligne

Code:
'Insertion colonne 'Date de valeur'
    Columns('F:F').Select
    Selection.Insert Shift:=xlToRight
    Selection.ColumnWidth = 6.57
    Selection.NumberFormat = 'dd/mm/yy;@'
    
    Range('F7').Select
    ActiveCell.FormulaR1C1 = '=D7+RECHERCHEV(CONCATENER(H7;''-'';E7);Feuil1!Jour_Bq;2;0)'

J'ai même tenté de remplacer le '-' par la fonction CAR(45) sans plus de résultat.

Je cherche encore autour de cette histoire

Phil
 
Bonjour Bebere,

Merci de t'occuper de mon cas.

Même motif, même punition !
Dans le VB, la ligne n'apparait pas en erreur de syntax, mais en erreur d'exécution.

Dans la formule en remplacant le '-' par un car(45), si je copie la formule directement dans la cellule c'est bon.

C'est donc un problème à l'inscription de la formule dans la cellule.

Phil,
 
Bonsoir Bebere et Abel,

Mon problème est résolu. Ne me demandez pas pourquoi, j'ai pas compris.

En fait, j'ai enregistré une macro pendant laquelle j'ai collé dans ma cellule la formule telle qu'elle. Puis j'ai regardé ce qui était enregistré et j'ai recopié le code en question.

Code:
    Range('F7').Select
    ActiveCell.FormulaR1C1 = _
        '=RC[-2]+VLOOKUP(CONCATENATE(RC[2],CHAR(45),RC[-1]),jour_bq,2,0)'

    Range('F7').Select
    Selection.AutoFill Destination:=Range('F7:F130'), Type:=xlFillDefault

Merci à tous les deux de m'avoir consacré de votre temps.

Phil,
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
9
Affichages
729
Réponses
7
Affichages
975
Retour