Bonjour
Electricien je rempli des tableaux d'appel d'offre transmis par les bureaux d'étude sur excel dans des mises en page toujours differentes.
J'ai automatisé la mise en forme de ceux-ci pour pouvoir y répondre plus facilement
C'est pourquoi je travaille en référence relatives et donc avec FormulaR1C1
Son utilisation ne me pose pas de souci majeur, mais la je coince

Je documente les colonnes d'une ligne article par une suite de formule puis les mets en forme avec des routines

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
        ActiveCell.Range("A1:A" & nbl).FormulaR1C1 = "=RC[" & -4 + decale_qte & "]"
        ActiveCell.Offset(0, 2).Range("A1:A" & nbl).FormulaR1C1 = "=RC[-1]*RC[-2]"
        ActiveCell.Offset(0, 3).Range("A1:A" & nbl).FormulaR1C1 = "=R" & lik & "C" & cok
        ActiveCell.Offset(0, 4).Range("A1:A" & nbl).FormulaR1C1 = "=RC[-1]*RC[-2]"
        ActiveCell.Offset(0, 6).Range("A1:A" & nbl).FormulaR1C1 = "=RC[-1]*RC[-6]"
        ActiveCell.Offset(0, 7).Range("A1:A" & nbl).FormulaR1C1 = "=RC[-1]*R3C" & ActiveCell.Column + 2
        ActiveCell.Offset(0, 8).Range("A1:A" & nbl).Value = "=R2C" & ActiveCell.Column + 2
        ActiveCell.Offset(0, 9).Range("A1:A" & nbl).FormulaR1C1 = "=RC[-1]*RC[-2]"
        ActiveCell.Offset(0, 10).Range("A1:A" & nbl).FormulaR1C1 = "=RC[-1]+RC[-6]"
        ActiveCell.Offset(0, 11).Range("A1:A" & nbl).Formula2R1C1 = "=IF(RC[-4]+RC[-9]=0,"""",RC[-1]/(RC[-4]+RC[-9])"
        ActiveCell.Offset(0, 12).Range("A1:A" & nbl).FormulaR1C1 = "=if(RC[-12]>0,RC[-2]/RC[-12],0)"
        ActiveCell.Range("A1:O" & nbl).Select
        centre
        bordsmou
        police
La mise en place dans les colonnes décalées fonctionne bien jusqu'à la 10ème, puis en (0,11) rien ne se passe et en (0,12) c'est ok
J'ai réécris la formule, remplacer les """" par 0, enlevé la condition, remplacer par ISERROR, changer de colonne idem
J'ai remplacé la formule par celle en (0,10) et là c'est correct

Le code ne s'arrête pas et ne génère pas d'erreur.
Le debug indique un valeur de formule vide!
Nom : debug.GIF
Affichages : 817
Taille : 22,8 Ko

L'erreur est donc dans la rédaction de la formule =IF(RC[-4]+RC[-9]=0,"""",RC[-1]/(RC[-4]+RC[-9])) si mon diviseur est nul je n'affiche rien sinon le résultat

J'utilise une formule du même type pour mon récapitulatif général qui fonctionne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
ActiveCell.Offset(0, 4).FormulaR1C1 = "=if(iserror((RC[-2]+RC[1])/RC[-1]),"""",(RC[-2]+RC[1])/RC[-1]))"
A trop chercher la paille, la poutre bouche la vision et je suis en plein dedans

Merci pour votre aide

Patrice