Bonjour!
Alors voila je vous explique mon problème, j'ai un fichier excel comportant un nom sur la première ligne et toutes les deux colonnes. Par exemple sur A1 il y a "Marie" puis A2,A3 c'est vide, A3 "Julien", A4 et A5 vide... ainsi de suite
J'aimerai pouvoir insérer une nouveau nom parmi ces colonnes et qu'il soit classé dans l'ordre alphabétique tout en conservant la mise en forme: une colonne pleine, 2vides a chaque fois.
Via un sujet un peu similaire à celui ci sur votre site j'ai réussi à récupérer un code qui marchait bien mais il était pour les lignes et ne conservait pas la mise en forme
J'ai donc essayer de le modifier pour que ça fasse le même travail pour les colonnes et c'est la cata
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 Private Sub CommandButton1_Click() With Sheets("Feuil1") derlign = .Range("A" & Rows.Count).End(xlUp).Row + 1 .Range("A" & derlign).Value = Me.TextBox1.Value 'classement par ordre alphabétique .Sort.SortFields.Clear .Sort.SortFields.Add Key:=Range("A1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal End With With Sheets("Feuil1").Sort .SetRange Range("A1:A" & derlign) .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End SubDans le code que j'ai modifié, j'ai aussi essayer de faire une boucle while qui inserera 2 colonnes vierge toutes les colonnes. En effet le code ci dessus supprimait tout les case vierge. Voici mon code modifié ci dessous. Pouvez vous m'aider svp? Merci beaucoup
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 Sub CommandButton1_Click() With Sheets("Tabelle1") dercolu = .Cells(Columns.Count & "1").End(xlRight).Columns + 1 .Range(dercolu & "1").Value = "Thomas" 'classement par ordre alphabétique .Sort.SortFields.Clear .Sort.SortFields.Add Key:=Range("A1"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal End With With Sheets("Tabelle1").Sort .SetRange Range("A2:dercolu & 2") .Header = xlNo .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With Dim numero As Variant numero = 0 While numero <= dercolu Cells("1" & numero).Select Selection.EntireColumn.Insert numero = numero + 2 Wend End Sub
Partager