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
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
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
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!
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 :A trop chercher la paille, la poutre bouche la vision et je suis en plein dedans
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]))"
Merci pour votre aide
Patrice
Partager