problème de modification de range
Bonjour,
J'ai un tableau que je souhaite redimensionner avec un nombre de lignes et de colonnes définis, en gardant la même mise en forme.
Mais quand j'effectue le code que j'ai écrit ci-dessous, il y a un problème : le tableau (zone) ne se redimensionne pas avec le nombre de lignes et de colonnes voulus.
Il m'a semblé en testant que la zone devient la dernière colonne du tableau et ne contient pas celles rajoutées (idem pour les lignes). Du coup, la variable "ColZone" ne change pas, et la boucle tourne à l'infini.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
| Sub DimTabloGen(Zone As Range, lig As Double, col As Double)
'Le tableau zone doit présenter les caractéristiques suivantes :
'col colonnes et 2xcol sous-colonnes, lig lignes + 2 lignes (titre + total)
Dim LigZone As Integer, ColZone As Integer
With Zone
LigZone = .Rows.Count - 2
ColZone = .Columns.Count / 2
While lig <> LigZone And (LigZone > 1 Or (LigZone = 1 And lig > 1))
If lig > LigZone Then
.Rows(2).EntireRow.Copy
.Rows(2).EntireRow.Insert Shift:=xlDown
ElseIf lig < LigZone Then
.Rows(2).EntireRow.Delete
End If
Zone.Select 'cette ligne sert aux tests
LigZone = Zone.Rows.Count - 2
Wend
While col <> ColZone And (ColZone > 1 Or (ColZone = 1 And col > 1))
If col > ColZone Then
.Columns("A:B").Copy
.Columns("A:B").Insert Shift:=xlToRight
ElseIf col < ColZone Then
.Columns("A:B").Delete Shift:=xlToLeft
End If
Zone.Select
ColZone = Zone.Columns.Count / 2
Wend
End With
Application.CutCopyMode = False
End Sub |
Avez-vous une idée ? Merci d'avance !
Renardor