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.
Avez-vous une idée ? Merci d'avance !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Renardor
Partager