reduire le volume du code

  • Initiateur de la discussion Initiateur de la discussion BIL boud
  • 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 !

BIL boud

XLDnaute Occasionnel
bonjour

jai mis un code pour faire la somme
voici le code
VB:
Range("b2") = Range("w2") + Range("w6") + Range("w10") + Range("w14") + Range("w18") + Range("w22") + Range("w26") + Range("w30") + Range("w34") + Range("w38") + Range("w42")
Range("b3") = Range("w3") + Range("w7") + Range("w11") + Range("w15") + Range("w19") + Range("w23") + Range("w27") + Range("w31") + Range("w35") + Range("w39") + Range("w43")
Range("b4") = Range("w4") + Range("w8") + Range("w12") + Range("w16") + Range("w20") + Range("w24") + Range("w28") + Range("w32") + Range("w36") + Range("w40") + Range("w44")
Range("b5") = Range("w5") + Range("w9") + Range("w13") + Range("w17") + Range("w21") + Range("w25") + Range("w29") + Range("w33") + Range("w37") + Range("w41") + Range("w45")


Range("c2") = Range("x2") + Range("x6") + Range("x10") + Range("x14") + Range("x18") + Range("x22") + Range("x26") + Range("x30") + Range("x34") + Range("x38") + Range("x42")
Range("c3") = Range("x3") + Range("x7") + Range("x11") + Range("x15") + Range("x19") + Range("x23") + Range("x27") + Range("x30") + Range("x35") + Range("x39") + Range("x43")
Range("c4") = Range("x4") + Range("x8") + Range("x12") + Range("x16") + Range("x20") + Range("x24") + Range("x28") + Range("x30") + Range("x36") + Range("x40") + Range("x44")
Range("c5") = Range("x5") + Range("x9") + Range("x13") + Range("x17") + Range("x21") + Range("x25") + Range("x29") + Range("x30") + Range("x37") + Range("x41") + Range("x45")

Range("d2") = Range("y2") + Range("y6") + Range("y10") + Range("y14") + Range("y18") + Range("y22") + Range("y26") + Range("y30") + Range("y34") + Range("y38") + Range("y42")
Range("d3") = Range("y3") + Range("y7") + Range("y11") + Range("y15") + Range("y19") + Range("y23") + Range("y27") + Range("y30") + Range("y35") + Range("y39") + Range("y43")
Range("d4") = Range("y4") + Range("y8") + Range("y12") + Range("y16") + Range("y20") + Range("y24") + Range("y28") + Range("y30") + Range("y36") + Range("y40") + Range("y44")
Range("d5") = Range("y5") + Range("y9") + Range("y13") + Range("y17") + Range("y21") + Range("y25") + Range("y29") + Range("y30") + Range("y37") + Range("y41") + Range("y45")

Range("e2") = Range("z2") + Range("z6") + Range("z10") + Range("z14") + Range("z18") + Range("z22") + Range("z26") + Range("z30") + Range("z34") + Range("z38") + Range("z42")
Range("e3") = Range("z3") + Range("z7") + Range("z11") + Range("z15") + Range("z19") + Range("z23") + Range("z27") + Range("z30") + Range("z35") + Range("z39") + Range("z43")
Range("e4") = Range("z4") + Range("z8") + Range("z12") + Range("z16") + Range("z20") + Range("z24") + Range("z28") + Range("z30") + Range("z36") + Range("z40") + Range("z44")
Range("e5") = Range("z5") + Range("z9") + Range("z13") + Range("z17") + Range("z21") + Range("z25") + Range("z29") + Range("z30") + Range("z37") + Range("z41") + Range("z45")


est il possible de faire une boucle pour alleger ce code
sachant que je vais utiliser plusieurs fois dans la mm procedure et je rsique davoir le message d'erreur "procedure trop grande"

jai essaye de faire une boucle while pour range("b2") mais ca ne marche pas

Code:
dim k as integer
dim nb_li as integer


k = 0
nb_li = Range("w42").Row

While nb_li <= 42

Range("b2") = Application.sum(Range("w2").offset(k, 0).Value)

Wend
k = k + 4
 
Dernière édition:
Mais de cette maniere a chaque fois que je clique sur le bouton pour excuter le code les formules sont suprimees
excusesz moi c moi qu me suis trempe ,jai oublie d'enleve le code
oui effivement ca marche bien

tt fois peut on ajouter une condition que si par exempele B2 = 0 elle va pas afficher 0 mais plutot une cellule vide , mm cas pour tt les autres cellules si ell sont vide

merci
 
Bonjour à tous,

Avec un UDF et une macro associée à appeler (éventuellement) dans un code principal.

A vous BillBoud de modifier les paramètres (cellule de départ, step et nombre de répétitions) & éventuellement de coller un .value si vous ne voulez pas laisser apparaitre la formule.

@+
 

Pièces jointes

Dernière édition:
Bonjour à tous,

Avec un UDF et une macro associée à appeler (éventuellement) dans un code principal.

A vous BillBoud de modifier les paramètres (cellule de départ, step et nombre de répétitions) & éventuellement de coller un .value si vous ne voulez pas laisser apparaitre la formule.

@+


bonjour
merci ca fonctionne bien sur la partie que je voulais sauf que je voulais le faire aussi pour les autre range de W mais je nai pas reussi (jai pas bien compris le code )

merci pour votre aide généreuse
 
- 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

Retour