XL 2010 VBA - Insérer une formule pour certaines cellules

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 !

tchi456

XLDnaute Occasionnel
Bonjour,

J'ai des formules dans les cellules des colonnes M et T que je souhaiterais mettre dans un code VBA plutôt qu'inscrire dans chaque cellule.

Voici les formules en question:

Cellules de la colonne M: =SI(ET(L<>"";K<>"";L<>"");J*K*L;"")
Cellules de la colonne T: =SI(ET(S<>"";R<>"";S<>"");Q*R*S;"")

Avez-vous une astuce qui pourrait m'aider?

Mes meilleures salutations,

Thierry
 
Bonjour tchi456,

Pas très cohérentes vos formules : dans ET vous avez 2 fois L<>"" et S<>"".

Sinon il n'y a vraiment aucune astuce :
VB:
Sub Test()
[M2:M1000] = "=IF(AND(L2<>"""",K2<>""""),J2*K2*L2,"""")"
[T2:T1000] = "=IF(AND(S2<>"""",R2<>""""),Q2*K2*S2,"""")"
End Sub
A+
 
Bonjour Job75,

J'ai bien insérer votre formule ci-dessus mais rien ne s'inscrit dans dans les cellules des colonnes M et T.

[M7:M1000] = "=IF(AND(J7<>"";K7<>"",L7<>""),J7*K7*L7,"")"
[T7:T1000] = "=IF(AND(Q7<>"";R7<>"",S7<>""),Q7*R7*S7,"")"

Est-ce que ça change qqch de mettre 4 guillemets plutôt que 2?

Meilleures salutations,

Thierry
 
Bonjour tchi456, le forum,
Est-ce que ça change qqch de mettre 4 guillemets plutôt que 2?
Ben vous n'avez qu'à essayer !!!

Dans le fichier joint vos formules en notation R1C1 vont bien, celles-ci en notation A1 aussi :
VB:
Sub Test1()
    With Sheets("Test")
        .Range("M7:M1000") = "=IF(COUNTBLANK(J7:L7),"""",J7*K7*L7)"
        .Range("T7:T1000") = "=IF(COUNTBLANK(Q7:S7),"""",Q7*R7*S7)"
    End With
End Sub
Si vous ne connaissez pas renseignez-vous sur la fonction NB.VIDE (COUNTBLANK).

A+
 

Pièces jointes

Bonjour tchi456, le forum,

Ben vous n'avez qu'à essayer !!!

Dans le fichier joint vos formules en notation R1C1 vont bien, celles-ci en notation A1 aussi :
VB:
Sub Test1()
    With Sheets("Test")
        .Range("M7:M1000") = "=IF(COUNTBLANK(J7:L7),"""",J7*K7*L7)"
        .Range("T7:T1000") = "=IF(COUNTBLANK(Q7:S7),"""",Q7*R7*S7)"
    End With
End Sub
Si vous ne connaissez pas renseignez-vous sur la fonction NB.VIDE (COUNTBLANK).

A+
Bonjour Job75,

Si je comprends bien il pas possible de se passer de la formule dans les cellules.
 

Pièces jointes

- 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
5
Affichages
474
Réponses
7
Affichages
533
Retour