lors d'un tri alphabétique insérer des onglets(lignes) alphabétiques

Le
sab
Bonjour,
J'ai un bouton associé à une macro qui tri la colone A par ordre
alphabétique je voudrais qu'en meme temps il m'insère des lignes de
repè re alphabétique (A, B, C ) lors de ce tri pour que ce soit
moins confus..
Merci par avance si cela est possible!!!
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Iznogood1
Le #9694421
On 27 juin, 11:37, sab
Bonjour,
J'ai un bouton associé à une macro qui tri la colone A par ordre
alphabétique je voudrais qu'en meme temps il m'insère des lignes de
repè re alphabétique (A, B, C ...) lors de ce tri pour que ce soit
moins confus..
Merci par avance si cela est possible!!!




An supposant que A1 contienne le titre de la colonne :

Sub Tri_Insert()
Dim nbLi As Integer
Dim premierChar As String

nbLi = [A1].CurrentRegion.Rows.Count
If nbLi = 1 Then Exit Sub

Range("A2:A" & nbLi).Sort Key1:=Range("A2"), Order1:=xlAscending


premierChar = UCase(Left([a2].Value, 1))
[a2].EntireRow.Insert
[a2].Value = premierChar
Range("A2").Font.Bold = True


Do While Not IsEmpty(Range("A" & nbLi))
If UCase(Left(Range("A" & nbLi).Value, 1)) <> premierChar
Then
premierChar = UCase(Left(Range("A" & nbLi).Value, 1))
Range("A" & nbLi).EntireRow.Insert
Range("A" & nbLi).Value = premierChar
Range("A" & nbLi).Font.Bold = True
End If
nbLi = nbLi + 1
Loop


End Sub
sab
Le #9722791
Iznogood1 a écrit :
On 27 juin, 11:37, sab



An supposant que A1 contienne le titre de la colonne :

Sub Tri_Insert()
Dim nbLi As Integer
Dim premierChar As String

nbLi = [A1].CurrentRegion.Rows.Count
If nbLi = 1 Then Exit Sub

Range("A2:A" & nbLi).Sort Key1:=Range("A2"), Order1:=xlAscending


premierChar = UCase(Left([a2].Value, 1))
[a2].EntireRow.Insert
[a2].Value = premierChar
Range("A2").Font.Bold = True


Do While Not IsEmpty(Range("A" & nbLi))
If UCase(Left(Range("A" & nbLi).Value, 1)) <> premierChar
Then
premierChar = UCase(Left(Range("A" & nbLi).Value, 1))
Range("A" & nbLi).EntireRow.Insert
Range("A" & nbLi).Value = premierChar
Range("A" & nbLi).Font.Bold = True
End If
nbLi = nbLi + 1
Loop


End Sub



Bonjour et merci,

Malheureusement cela ne fonctionne pas...cela me dit
sab
Le #9725741
Bonjour et merci
mais quand j'execute votre code cela me dit erreur de compilation :
erreur de syntaxe...et cela me met :
"If UCase(Left(Range("A" & nbLi).Value, 1)) <> premierChar
Then"
en surlignage.
Que dois je faire?Par avance merci


Peut etre parce que j'ai omis de vous dire qu'il y a 2 lignes de titre
et donc le tableau commence à la ligne 3.

An supposant que A1 contienne le titre de la colonne :

Sub Tri_Insert()
Dim nbLi As Integer
Dim premierChar As String

nbLi = [A1].CurrentRegion.Rows.Count
If nbLi = 1 Then Exit Sub

Range("A2:A" & nbLi).Sort Key1:=Range("A2"), Order1:=xlAscending


premierChar = UCase(Left([a2].Value, 1))
[a2].EntireRow.Insert
[a2].Value = premierChar
Range("A2").Font.Bold = True


Do While Not IsEmpty(Range("A" & nbLi))
If UCase(Left(Range("A" & nbLi).Value, 1)) <> premierChar
Then
premierChar = UCase(Left(Range("A" & nbLi).Value, 1))
Range("A" & nbLi).EntireRow.Insert
Range("A" & nbLi).Value = premierChar
Range("A" & nbLi).Font.Bold = True
End If
nbLi = nbLi + 1
Loop


End Sub


Fredo P
Le #9775601
Bonsoir
Tu peux après avoir exécuter le tri, employer cette macro.
La première boucle supprime les éventuelles Lignes vides.

Sub repère()
Dim c As Object, d As Object
For Each c In Range("A1:A" & Range("A65536").End(3).Row)
If Application.CountA(Rows(c.Row)) = 0 Then
Rows(c.Row).Delete
End If
Next c
For Each c In Range("A1:A" & Range("A65536").End(3).Row)
If Not d Is Nothing Then
If Left(c, 1) <> Left(d, 1) Then
Rows(c.Row).Insert shift:=xlDown
c.Font.Bold = True
Else
c.Offset(1, 0).Font.Bold = False
End If
End If
Set d = c
Next c
End Sub

"sab"
Bonjour,
J'ai un bouton associé à une macro qui tri la colone A par ordre
alphabétique je voudrais qu'en meme temps il m'insère des lignes de repè
re alphabétique (A, B, C ...) lors de ce tri pour que ce soit moins
confus..
Merci par avance si cela est possible!!!




sab
Le #10479471
Bonjour

Et merci
Quand j'execute la macro j'ai une alerte d'erreur 1004:

La methode classe range de insert a échoué

Le debogage me surligne en jaune:
Rows(c.Row).insert shift:=xlDown

Une idée? pour moi c'est du chinois!!
Merci





Fredo P a écrit :
Bonsoir
Tu peux après avoir exécuter le tri, employer cette macro.
La première boucle supprime les éventuelles Lignes vides.

Sub repère()
Dim c As Object, d As Object
For Each c In Range("A1:A" & Range("A65536").End(3).Row)
If Application.CountA(Rows(c.Row)) = 0 Then
Rows(c.Row).Delete
End If
Next c
For Each c In Range("A1:A" & Range("A65536").End(3).Row)
If Not d Is Nothing Then
If Left(c, 1) <> Left(d, 1) Then
Rows(c.Row).Insert shift:=xlDown
c.Font.Bold = True
Else
c.Offset(1, 0).Font.Bold = False
End If
End If
Set d = c
Next c
End Sub

"sab"
Bonjour,
J'ai un bouton associé à une macro qui tri la colone A par ordre
alphabétique je voudrais qu'en meme temps il m'insère des lignes de repè re
alphabétique (A, B, C ...) lors de ce tri pour que ce soit moins confus..
Merci par avance si cela est possible!!!






Fredo P
Le #10851531
Est ce que l'échec se reproduit sur le fichier ci-joint?
http://cjoint.com/?gDiq6JgSAc

Le debogage me surligne en jaune:
Rows(c.Row).insert shift:=xlDown

Une idée? pour moi c'est du chinois!!
Merci





Fredo P a écrit :
Bonsoir
Tu peux après avoir exécuter le tri, employer cette macro.
La première boucle supprime les éventuelles Lignes vides.

Sub repère()
Dim c As Object, d As Object
For Each c In Range("A1:A" & Range("A65536").End(3).Row)
If Application.CountA(Rows(c.Row)) = 0 Then
Rows(c.Row).Delete
End If
Next c
For Each c In Range("A1:A" & Range("A65536").End(3).Row)
If Not d Is Nothing Then
If Left(c, 1) <> Left(d, 1) Then
Rows(c.Row).Insert shift:=xlDown
c.Font.Bold = True
Else
c.Offset(1, 0).Font.Bold = False
End If
End If
Set d = c
Next c
End Sub

"sab"
Bonjour,
J'ai un bouton associé à une macro qui tri la colone A par ordre
alphabétique je voudrais qu'en meme temps il m'insère des lignes de repè
re alphabétique (A, B, C ...) lors de ce tri pour que ce soit moins
confus..
Merci par avance si cela est possible!!!










P.Bastard
Le #10852571
Bonjour, sab.

Dans un cas pareil, je ne me complique pas la vie :
A, B, C... Z en fin de colonne (une lettre par ligne), et je trie l'ensemble
ensuite.
Basique, mais efficace et rapide (cela fait 3 jours que tu es dessus).

Et si tu dois le faire souvent, crée une liste personnelle A, B, ...., Z qui
te permettra une recopie incrémentée.
Aussi efficace, et encore plus rapide.
;-)
Qu'en penses-tu ?
Bien cordialement,

Patrick.

"sab" news:
Bonjour,
J'ai un bouton associé à une macro qui tri la colone A par ordre
alphabétique je voudrais qu'en meme temps il m'insère des lignes de repè
re alphabétique (A, B, C ...) lors de ce tri pour que ce soit moins
confus..
Merci par avance si cela est possible!!!




sab
Le #11165071
P.Bastard a écrit :
Bonjour, sab.

Dans un cas pareil, je ne me complique pas la vie :
A, B, C... Z en fin de colonne (une lettre par ligne), et je trie l'ensemble
ensuite.
Basique, mais efficace et rapide (cela fait 3 jours que tu es dessus).

Et si tu dois le faire souvent, crée une liste personnelle A, B, ...., Z qui
te permettra une recopie incrémentée.
Aussi efficace, et encore plus rapide.
;-)
Qu'en penses-tu ?
Bien cordialement,

Patrick.

"sab" news:
Bonjour,
J'ai un bouton associé à une macro qui tri la colone A par ordre
alphabétique je voudrais qu'en meme temps il m'insère des lignes de repè re
alphabétique (A, B, C ...) lors de ce tri pour que ce soit moins confus..
Merci par avance si cela est possible!!!







Bonjour,
Merci;pas bete le coup des lignes A B C etc...........
Sinon que veux tu dire par liste personnelle? Je sais cela doit etre
nulle comme question...C'est une liste que je vais incorporer dans mon
tableau??ou pas??
Ca m'interresse car le coup des lignes c'est super mais comme je trie
aussi parfois par la colonne "date" (colonne C) que vont faire les
lignes A,B,C etc...j'aimerais bien que dans ce cas elles disparaissent
P.Bastard
Le #11165401
Bonsoir, sab

1° - Outils, options, onglet Listes pers.
je l'utilise personnellement pour remplir rapidement une colonne ou une
ligne avec les noms des salariés de mon service (Adam, Bernard, Chloé,
...Zébulon)
Il suffit de saisir Adam dans la 1° cellule et de tirer vers le bas ou vers
la droite, ça évite de saisir tous les noms chaque fois.

2° - Si tu places tes lettres en colonne A (B restant vide), et que tu tries
sur la colonne B, tes lettres seront toutes en fin de tableau.

Cordialement,

Patrick.

"sab" news:
P.Bastard a écrit :
Bonjour, sab.

Dans un cas pareil, je ne me complique pas la vie :
A, B, C... Z en fin de colonne (une lettre par ligne), et je trie
l'ensemble ensuite.
Basique, mais efficace et rapide (cela fait 3 jours que tu es dessus).

Et si tu dois le faire souvent, crée une liste personnelle A, B, ...., Z
qui te permettra une recopie incrémentée.
Aussi efficace, et encore plus rapide.
;-)
Qu'en penses-tu ?
Bien cordialement,

Patrick.

"sab" news:
Bonjour,
J'ai un bouton associé à une macro qui tri la colone A par ordre
alphabétique je voudrais qu'en meme temps il m'insère des lignes de repè
re alphabétique (A, B, C ...) lors de ce tri pour que ce soit moins
confus..
Merci par avance si cela est possible!!!







Bonjour,
Merci;pas bete le coup des lignes A B C etc...........
Sinon que veux tu dire par liste personnelle? Je sais cela doit etre nulle
comme question...C'est une liste que je vais incorporer dans mon
tableau??ou pas??
Ca m'interresse car le coup des lignes c'est super mais comme je trie
aussi parfois par la colonne "date" (colonne C) que vont faire les lignes
A,B,C etc...j'aimerais bien que dans ce cas elles disparaissent




sab
Le #11172891
Bonjour,

Et merci c'est en effet une solution simple et qui fonctionne
parfaitement...



P.Bastard a écrit :
Bonsoir, sab

1° - Outils, options, onglet Listes pers.
je l'utilise personnellement pour remplir rapidement une colonne ou une ligne
avec les noms des salariés de mon service (Adam, Bernard, Chloé, ...Zébulon)
Il suffit de saisir Adam dans la 1° cellule et de tirer vers le bas ou vers
la droite, ça évite de saisir tous les noms chaque fois.

2° - Si tu places tes lettres en colonne A (B restant vide), et que tu tries
sur la colonne B, tes lettres seront toutes en fin de tableau.

Cordialement,

Patrick.

"sab" news:
P.Bastard a écrit :
Bonjour, sab.

Dans un cas pareil, je ne me complique pas la vie :
A, B, C... Z en fin de colonne (une lettre par ligne), et je trie
l'ensemble ensuite.
Basique, mais efficace et rapide (cela fait 3 jours que tu es dessus).

Et si tu dois le faire souvent, crée une liste personnelle A, B, ...., Z
qui te permettra une recopie incrémentée.
Aussi efficace, et encore plus rapide.
;-)
Qu'en penses-tu ?
Bien cordialement,

Patrick.








Publicité
Poster une réponse
Anonyme