Demande de Simplification de code

laduche81

XLDnaute Junior
Bonjour !

J'ai un code très long j'aimerais, si c'est possible, le simplifier.
Merci par avance pour votre aide! Voici un fragment du code:

Code:
lol = WorksheetFunction.CountA(Range("C15:C1000"))
    If lol = 12 Then
    Range("B21") = "=B15+7"
    Range("B22") = "=B16+1"
    Range("C10") = "=B22+1"
    ElseIf lol = 18 Then
    Range("B27") = "=B15+14"
    Range("B28") = "=B16+2"
    Range("C10") = "=B28+1"
        ElseIf lol = 24 Then
    Range("B33") = "=B15+21"
    Range("B34") = "=B16+3"
    Range("C10") = "=B34+1"

Cdlt,

Adrien
 

laduche81

XLDnaute Junior
Re : Demande de Simplification de code

Bonjour,

N'étant pas expert en macro j'ai fais ma sauce, le but de ce code étant d'incrémenter la valeur de certaines cellules, B15 étant une date (donc B15 + 7 jours a chaque fois)
Ce qui est important d'observer dans les quelques lignes que j'ai fournies c'est qu'il y a en quelque sorte une règle de proportinalité: on fait toujours +1,+6 ou +7 à chaque fois.
Donc je me dis qu'il est possible de simplifier ce code en quelques lignes au lieu de 200 actuellement.

J'espère avoir apporté les précisions nécessaires à la bonne compréhension?

Merci!

Adrien
 

tototiti2008

XLDnaute Barbatruc
Re : Demande de Simplification de code

Re,

un essai, au hasard

Code:
lol = WorksheetFunction.CountA(Range("C15:C1000"))
Range("B" & lol + 9) = "=B15+" & ((lol/6)-1)*7
Range("B" & lol + 10) = "=B16+" & (lol/6)-1
Range("C10") = "=B" & lol + 10 & "+1"
 

pierrejean

XLDnaute Barbatruc
Re : Demande de Simplification de code

bonjour laduche
Salut tototiti

A tester:
Code:
lol = WorksheetFunction.CountA(Range("C15:C1000"))
a=(lol/6)-1
Range("B" & 21 +(a-1)*6)=Range("B15")+a*7
Range("B" & 21+(a-1)*6+1)=Range("B16")+a
Rage("C10")=range("B" & 22+(a-1)*6)+1

Arf !! : Tototiti toujours aussi rapide
 

Statistiques des forums

Discussions
312 322
Messages
2 087 286
Membres
103 507
dernier inscrit
tapis23