XL 2019 Insérer une formule Excel via VBA avec boucle.

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 !

gilboss

XLDnaute Nouveau
Bonjour,
J'aimerai insérer une formule Excel via un code VBA sur 31 colonnes avec changement de lettre par formule.
Cette formule est à écrire dans les cellules C30 à AG30 avec l'incrément des lettres C dans la formule (C à AG)
=SOMME_SI_COULEUR(C$31:C$34;16777215) jusqu'à =SOMME_SI_COULEUR(AG$31:AG$34;16777215)

Je n'y parviens pas. (Je suis novice)
Si quelqu'un pouvait m'aider, je le remercie d'avance
Je pourrais écrire la formule directement dans les cellules, mais ce n'est pas mon souhait.
 
Bonsoir le fil

@gilboss
Dans un classeur où tu auras copié les deux fonctions que j'ai postées.
(message#12)
Copie puis éxécute cette macro qui créé un exemple
Code:
Sub Macro_pour_créer_exemple()
Dim t
t = Array(2, 3, 7, 6, vbNullString, vbNullString, 1, 0, vbNullString, 8)
Range("A1").Interior.ColorIndex = 6
Range("B3:B10").Value = Application.Transpose(t)
Range("B3:B10").FormatConditions.Add Type:=xlExpression, Formula1:="=ET(EST.PAIR($B3);$B3>0)"
Range("B3:B10").FormatConditions(Range("B3:B10").FormatConditions.Count).SetFirstPriority
Range("B3:B10").FormatConditions(1).Interior.ColorIndex = 6
Range("B12").Formula = "=SOMMECOULEURS(B3:B10,A1)"
Range("B12").Font.Bold = -1
End Sub
La somme en B12 est correcte, non ?

Pour continuer le test, change manuellement quelles valeurs
(en mettant deux, trois ou quatre chiffres pairs)
Tu verrais que la somme s'actualisera et sera bonne.
Tout c'est bien remplie, mais désolé, en B12 j'ai #valeurs
J'ai mis la fontion dans Module1, la nouvelle macro dans module2 et private fonction dans le code VBA de la feuille. Si je change des valeurs impair en pair, effectivement la couleur devient jaune.
 
Re

Et pourtant elle tourne 😉
ExempleOK.png
 
Re

Essaies avec cette macro
VB:
Sub Macro_pour_créer_exemple_BIS()
Dim t, r As Range: Set r = Range("B3:B10")
t = Array(2, 3, 7, 6, 0, 1, 0, 5)
Range("A1").Interior.ColorIndex = 6
r.Value = Application.Transpose(t)
r.FormatConditions.Add Type:=xlExpression, Formula1:="=ET(EST.PAIR($B3);$B3>0)"
r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
r.FormatConditions(1).Interior.ColorIndex = 6
Range("B12").Formula = "=SOMMECOULEURS(B3:B10,A1)"
Range("B12").Font.Bold = -1
End Sub
 
Re

Essaies avec cette macro
VB:
Sub Macro_pour_créer_exemple_BIS()
Dim t, r As Range: Set r = Range("B3:B10")
t = Array(2, 3, 7, 6, 0, 1, 0, 5)
Range("A1").Interior.ColorIndex = 6
r.Value = Application.Transpose(t)
r.FormatConditions.Add Type:=xlExpression, Formula1:="=ET(EST.PAIR($B3);$B3>0)"
r.FormatConditions(r.FormatConditions.Count).SetFirstPriority
r.FormatConditions(1).Interior.ColorIndex = 6
Range("B12").Formula = "=SOMMECOULEURS(B3:B10,A1)"
Range("B12").Font.Bold = -1
End Sub
J'ai un 0 qui apparait et aussitot #Valeur!
 
- 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
612
Réponses
1
Affichages
540
Retour