un classement par grade

  • Initiateur de la discussion Initiateur de la discussion nrdz83
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nrdz83

XLDnaute Impliqué
Bonsoir à tous une petite question dans ma base de données ci-jointe les résultats numériques sont considérés comme du texte (alignement à gauche) de ce fait je n'arrive pas a mettre au format (N° de téléphone et code postal) Y a t'il une astuce??
Et ensuite je cherche à faire une maccros afin de faire un classement par grade, sachant que le grade le plus élévé est celui de major et le moins celui de matelot.
D'avance merci à tous
 

Pièces jointes

Re : un classement par grade

Bonsoir,

dans le code ajouter ce qui est en bleu

Cells(derlig, 1) = Nomconverti
Cells(derlig, 2) = Prenomconverti
Cells(derlig, 3) = Grades
Cells(derlig, 4) = txtmatricule
Cells(derlig, 5) = txtadresse
Cells(derlig, 6) = Val(txtcodepostal)
Cells(derlig, 7) = txtville
Cells(derlig, 8) = Val(txttelephone)
Cells(derlig, 9) = Qualif

et mettre format de cellule = spécial = code postal et téléphone

Rectification:
Pour le classement, ajoute en colonne K titre ordre, et tu classe de 1 à X suivant le grade
ensuite onglet données trier et par ordre.


Bonne soirée
 
Dernière édition:
Re : un classement par grade

Re-,

regarde le fichier joint, j'ai modifié la saisie pour le téléphone, et le code postal

Et également pour le tri.
Si la liste personnelle n'existe pas, elle est créée, puis on la prend pour le tri :

Le code :

Code:
Sub essai()
On Error Resume Next
n = Application.GetCustomListNum(Array("Major", "Maître Principal", "Premier-Maître", _
        "Maître", "Second-Maître", "QM 1", "QM 2", "Matelot"))
If n = 0 Then
Application.AddCustomList ListArray:=Array("Major", "Maître Principal", "Premier-Maître", _
        "Maître", "Second-Maître", "QM 1", "QM 2", "Matelot")
n = Application.CustomListCount
End If
Range("A1:I" & [A65000].End(xlUp).Row).Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("A2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=n + 1
End Sub

Le fichier :
 

Pièces jointes

Re : un classement par grade

Salut

Pour le classement par grade, ce que j'avais fini par faire c'est rajouter une colonne avec un code...
par ex pour la suisse : recrue 1, soldat 2, appointé 3, appointé chef 4 ... colonel 15.
Une petite liste en fin de fichier et un rechercheV (ou H) pour définir le code automatiquement. Ensuite je peux classer facilement.

A défaut de mieux...

Ya'v
 
Re : un classement par grade

merci pour tes astuces les premières nickel ça fonctionne pour le grade par contre marche pas car par ordre alphabétique ça ne correspond pas avec l'ordre hiérarchique, merci


Re,

il faut sélectionner la cellule A1 et appliquer ensuite le trie, et ca trie toute la liste .

Mais le dernier fichier de bhbh règle ce soucis, il est parfait.

ouff sacré code j'en apprend tout les jours lol

bravo bhbh

bonne soirée
 
Re : un classement par grade

AU TOP ce BHBH mais tous vous m'avez apporté un petit plus merci. BHBH je viens de rajouter une colonne et combobox "spécialité" dans mon userform ça fonctionne par contre je n'arrive pas a faire afficher la fenêtre qui m'oblige a saisir une donnée, tu avais fait une formule comme cela


For Each ctrl In Controls
If TypeName(ctrl) = "TextBox" Then
If ctrl = "" Then
MsgBox "vous devez renseigner : " & Right(ctrl.Name, Len(ctrl.Name) - 3)
ctrl.SetFocus
Exit Sub
End If


d'avance encore merci bye
 
Re : un classement par grade

re,

a la suite

Cells(derlig, 10) = txtspecialite

tu crée également le textbox (txtspecialite)

A +

J'ai répondu a coté de la plaque lol, j'ai pas bien lu excuses
 
Dernière édition:
Re : un classement par grade

voila ce que j'ai réussi à faire par contre je n'arrive pas a faire en sorte que si je ne rentre pas de données dans la listbox spécialités , qu'un msgbox apparaisse, merci
 

Pièces jointes

Re : un classement par grade

MERCI a tous que du bonheur ça fonctionne impec j'en ai appris des choses ce soir grace à vous en espérant réussir a tous garder lol.
Et j'espère a mon tour également dépanner quelqu'un bonne soirée bye
 
Re : un classement par grade

Re-,

Attention, pense à modifier le code de tri :

Code:
Range("A1:[COLOR="Red"]J[/COLOR]" & [A65000].End(xlUp).Row).Sort Key1:=Range("C2"), Order1:=xlAscending, Key2:=Range("A2") _
        , Order2:=xlAscending, Header:=xlGuess, OrderCustom:=n + 1
End Sub

Comme tu as rajouté la colonne J, il faut la compter dans la plage, sinon, tu vas plus rien comprendre.....
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

P
Réponses
7
Affichages
953
Pilliars
P
Retour