Aide pour le code VBA

GILBERTO BRAGA

XLDnaute Occasionnel
Bonjour
Je demande de l'aide pour le code VBA ci-joint. J'ai une feuille de calcul dans la colonne B, je tape le nom de ce que je suis interviewé des travailleurs. Le code VBA est d'aller mettre les noms par ordre alphabétique. Le problème est que le code exige que le prénom est entré dans B8 et d'autres B5. Je voudrais que le premier nom tapé également séjourner dans l'ordre alphabétique.
Reconnaissant pour toute aide et désolé pour les fautes, c'est ce que j'utilise google translator.
 

Pièces jointes

  • Ordem Alfabética.xls
    26 KB · Affichages: 68

Robert

XLDnaute Barbatruc
Repose en paix
Re : Aide pour le code VBA

Bom dia Gilberto, bonjour le foum,

Google translator está dizendo que você entrevistou trabalhadores... e outras besteiras incomprehensíveis... O que podemos fazer é você expôr seu problema em português e eu farei uma tradução para qualquer um poder ajudar-lhe.
Mas, do que entendi vai ser difícil já que no Portugal ou no Brasil as pessoas têm nome e sobremnome muitas veces duplo. Temos par exempo :
João Alberto - De Souza (2 sobrenomes - un nome com "De")
Adélia - Prado de Lima (1 sobrenome - 2 nomes)...

Esperando sua resposta...
 

GILBERTO BRAGA

XLDnaute Occasionnel
Re : Aide pour le code VBA

Bom tarde Robert

O que eu necessito é que, a medida que vou digitando os nomes de trabalhadores na coluna B, os nomes fiquem em ordem alfabética. O código VBA, que está na planilha em anexo, tem exatamente essa finalidade. Ele exige que o primeiro nome seja digitado na célula B8. Os nomes seguintes tem que ser digitados sempre em B5, bem como as demais informações: admissão em C5, remuneração em D5 e adiantamentos em E5. Quando termino de digitar em E5, dou enter e as informações que acabei de digitar na linha 5 vão para baixo da linha 8, sempre em ordem alfabética.
O problema é que, se eu digitar em B8 um nome que inicie com a letra J, por exemplo, esse nome irá ficar fixo em B8. Parece que o código só vai colocando os demais nomes em ordem alfabética a partir da linha 9. Mesmo que eu digite em B5 um nome como Adelia Prado, o código joga esse nome para a linha 9, quando eu queria que jogasse para a linha 8, uma vez que o A de Adelia vem antes do J de João.

Espero que agora tenha ficado mais claro o que eu preciso.

Um grande abraço.
Gilberto
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : Aide pour le code VBA

Bom dia Gilberto, bonjour le forum,

O código abaixo parece funcionar. Não é mais preciso éditar os primeiros dados na lihna 8. Tudo deve ser éditado na linha 5. Diga se é conforma à sua espera.
O código :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ul As Integer 'déclaração da variável ul (Última Lihna)
Dim A As Integer 'déclaração da variável A (incrementação)
Dim dest As Range 'déclaração da variável dest (célula de DESTinação)

If Target.Address <> "$E$5" Or Selection.Count > 1 Then Exit Sub 'si a modificação é feita en outro lugar que a célula E5 ou si a seleção têm mais de uma célula, sai da macro
Set dest = IIf(Range("B8") = "", Range("B8"), Cells(Application.Rows.Count, 2).End(xlUp).Offset(1, 0)) 'definição da célula de destinação
For x = 0 To 3 'laço (não sei a palavra en português "boucle") de 0 a 3
    dest.Offset(0, x).Value = Range("B5").Offset(0, x).Value 'récupera os dados da linha 5
Next x 'proxima célula do laço
Range("B5:E5").Clear 'limpa a faxa B5:E5
'sortea
Range("B8").CurrentRegion.Sort Key1:=Range("B8"), Order1:=xlAscending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("B5").Select 'séleciona B5
'renumerar a coluna A
ul = Cells(Application.Rows.Count, 2).End(xlUp).Row - 6
For A = 1 To ul
    Cells(A + 7, 1).Value = A
Next A
End Sub
O arquivo :
 

Pièces jointes

  • Gilberto_v01.xls
    25.5 KB · Affichages: 28

GILBERTO BRAGA

XLDnaute Occasionnel
Re : Aide pour le code VBA

Boa noite Robert, boa noite forum

Caro Robert, testei o seu código e ele funciona satisfatoriamente. E ainda ficou bem melhor porque agora não é mais necessário digitar o primeiro nome em B8 e os demais em B5.
Obrigado pela atenção e presteza em ajudar.
Um grande abraço
Gilberto
 

Discussions similaires

Statistiques des forums

Discussions
312 330
Messages
2 087 346
Membres
103 525
dernier inscrit
gbaipc