Magic_Doctor
XLDnaute Barbatruc
Bonjour à tous,
J'ai rédigé une macro qui fonctionne parfaitement.
Cependant, dans un souci de concision, je voudrais, plutôt que de déclarer individuellemnt tous les éléments de la matrice, les déclarer au travers d'un algorithme dans une boucle.
Je m'explique :
Voici ce qui esty écrit dans la macro et qui marche :
Sub
.
.
.
Dim nbcell(7) As Byte
.
.
.
'[CellPrincipio] étant une cellule nommée qui sert en quelque sorte de balise
nbcell(1) = [CellPrincipio].Offset(0, -3).Value
nbcell(2) = nbcell(1) + [CellPrincipio].Offset(nbcell(1), -3).Value
nbcell(3) = nbcell(2) + [CellPrincipio].Offset(nbcell(2), -3).Value
nbcell(4) = nbcell(3) + [CellPrincipio].Offset(nbcell(3), -3).Value
nbcell(5) = nbcell(4) + [CellPrincipio].Offset(nbcell(4), -3).Value
nbcell(6) = nbcell(5) + [CellPrincipio].Offset(nbcell(5), -3).Value
For i = 1 To [NbSemainesISO].Value
Set firstcell = Cells([CellPrincipio].Row + nbcell(i - 1), [CellPrincipio].Column - 1)
.
.
.
End sub
J'ai tenté d'écrire ceci :
Sub
.
.
.
Dim nbcell() As Byte
.
.
.
For i = 1 To [NbSemainesISO].Value
'algorithme pour définir chaque nbcell
nbcell(i) = nbcell(i - 1) + [CellPrincipio].Offset(nbcell(i - 1), -3).Value
'garde en mémoire le dernier nbcell qui sera nécessaire pour calculer le suivant
ReDim Preserve nbcell(i)
Set firstcell = Cells([CellPrincipio].Row + nbcell(i - 1), [CellPrincipio].Column - 1)
.
.
.
End sub
Ce qui n'a évidemment pas marché... Pourtant je pense que le problème doit se résoudre plus ou moins de la sorte.
Malheureusement mon fichier dépassant légèrement les 48 Ko ne peut être accessible qu'ainsi :
Cijoint.fr - Service gratuit de dépôt de fichiers
Merci pour toute réponse
J'ai rédigé une macro qui fonctionne parfaitement.
Cependant, dans un souci de concision, je voudrais, plutôt que de déclarer individuellemnt tous les éléments de la matrice, les déclarer au travers d'un algorithme dans une boucle.
Je m'explique :
Voici ce qui esty écrit dans la macro et qui marche :
Sub
.
.
.
Dim nbcell(7) As Byte
.
.
.
'[CellPrincipio] étant une cellule nommée qui sert en quelque sorte de balise
nbcell(1) = [CellPrincipio].Offset(0, -3).Value
nbcell(2) = nbcell(1) + [CellPrincipio].Offset(nbcell(1), -3).Value
nbcell(3) = nbcell(2) + [CellPrincipio].Offset(nbcell(2), -3).Value
nbcell(4) = nbcell(3) + [CellPrincipio].Offset(nbcell(3), -3).Value
nbcell(5) = nbcell(4) + [CellPrincipio].Offset(nbcell(4), -3).Value
nbcell(6) = nbcell(5) + [CellPrincipio].Offset(nbcell(5), -3).Value
For i = 1 To [NbSemainesISO].Value
Set firstcell = Cells([CellPrincipio].Row + nbcell(i - 1), [CellPrincipio].Column - 1)
.
.
.
End sub
J'ai tenté d'écrire ceci :
Sub
.
.
.
Dim nbcell() As Byte
.
.
.
For i = 1 To [NbSemainesISO].Value
'algorithme pour définir chaque nbcell
nbcell(i) = nbcell(i - 1) + [CellPrincipio].Offset(nbcell(i - 1), -3).Value
'garde en mémoire le dernier nbcell qui sera nécessaire pour calculer le suivant
ReDim Preserve nbcell(i)
Set firstcell = Cells([CellPrincipio].Row + nbcell(i - 1), [CellPrincipio].Column - 1)
.
.
.
End sub
Ce qui n'a évidemment pas marché... Pourtant je pense que le problème doit se résoudre plus ou moins de la sorte.
Malheureusement mon fichier dépassant légèrement les 48 Ko ne peut être accessible qu'ainsi :
Cijoint.fr - Service gratuit de dépôt de fichiers
Merci pour toute réponse