Numéro de création
Résolu
BUDGETS
Messages postés
1612
Date d'inscription
Statut
Membre
Dernière intervention
-
BUDGETS Messages postés 1612 Date d'inscription Statut Membre Dernière intervention -
BUDGETS Messages postés 1612 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à toutes et à tous,
'Numéro création
lbNC2 = Application.CountIf(Range("TNAM[CNAM]"), cbCNAM.Value) + 1
Telle qu'elle est actuellement, cette instruction fonctionne.
Je voudrais faire précéder le numéro de création du contenu partiel du cbCA :
DMR01
DS01
DW21
LLMR17
LSLM14 : ce doit être le plus long.
LSMJ06
LSV11
LWS03
LWD04
LVMR05
LVMW07
LVS36
Dans le numéro création, je voudrais faire apparaitre les deux, trois ou quatre lettres sans les chiffres du code article. Qui pourra me donner la bonne solution ?
Les instructions suivantes devront-elles modifiées compte tenu de la modification du numéro création ? Si oui, d'avance merci pour me donner les nouvelles instructions.
'Tri ascendant colonne CNAM du tableau structuré TNAM
Sub TriTNAM()
Dim NE As Long, N As Long 'NE = nombre de lignes du tableau structuré TNAM. N : variable pour boucler sur les cellules Numéro création.
'Feuille_Liste_Bd articles_menus : ce nom sera à reprendre dans son intégralité dans le module MO05_VariablesPublic
With Feuille_Liste_BD_articles_menus.ListObjects("TNAM")
'Sort : Représente le tri d'une plage de données.
With .Sort
'Header : Cette propriété indique si la première ligne contient des informations sur l'en-tête. La première ligne du tableau structuré TNAM est une ligne d'en-têtes (=> ne pas
'la trier.
.Header = xlYes
'MatchCase : Trier sans faire la différence entre les majuscules et les minuscules.
.MatchCase = False
With .SortFields
.Clear 'Supprime tous les critères de tri
.Add Key:=Range("TNAM[CAM]"), SortOn:=0, Order:=1 'Code article par valeur, croissant.
.Add Key:=Range("TNAM[NAM]"), SortOn:=0, Order:=1 'Nom article par valeur, croissant.
End With
.Apply: [B2].Select 'Fait le tri selon les informations ci-dessus puis va en B2
End With
'Insérer Numéro création dans TriTNAM. Écriture colonne numéro création
NE = .ListRows.Count
For N = 1 To NE
Range("TNAM[Numéro création]").Item(N) = N
Next N
End With
End Sub
D'avance merci pour vos réponses.
BUDGETS
'Numéro création
lbNC2 = Application.CountIf(Range("TNAM[CNAM]"), cbCNAM.Value) + 1
Telle qu'elle est actuellement, cette instruction fonctionne.
Je voudrais faire précéder le numéro de création du contenu partiel du cbCA :
DMR01
DS01
DW21
LLMR17
LSLM14 : ce doit être le plus long.
LSMJ06
LSV11
LWS03
LWD04
LVMR05
LVMW07
LVS36
Dans le numéro création, je voudrais faire apparaitre les deux, trois ou quatre lettres sans les chiffres du code article. Qui pourra me donner la bonne solution ?
Les instructions suivantes devront-elles modifiées compte tenu de la modification du numéro création ? Si oui, d'avance merci pour me donner les nouvelles instructions.
'Tri ascendant colonne CNAM du tableau structuré TNAM
Sub TriTNAM()
Dim NE As Long, N As Long 'NE = nombre de lignes du tableau structuré TNAM. N : variable pour boucler sur les cellules Numéro création.
'Feuille_Liste_Bd articles_menus : ce nom sera à reprendre dans son intégralité dans le module MO05_VariablesPublic
With Feuille_Liste_BD_articles_menus.ListObjects("TNAM")
'Sort : Représente le tri d'une plage de données.
With .Sort
'Header : Cette propriété indique si la première ligne contient des informations sur l'en-tête. La première ligne du tableau structuré TNAM est une ligne d'en-têtes (=> ne pas
'la trier.
.Header = xlYes
'MatchCase : Trier sans faire la différence entre les majuscules et les minuscules.
.MatchCase = False
With .SortFields
.Clear 'Supprime tous les critères de tri
.Add Key:=Range("TNAM[CAM]"), SortOn:=0, Order:=1 'Code article par valeur, croissant.
.Add Key:=Range("TNAM[NAM]"), SortOn:=0, Order:=1 'Nom article par valeur, croissant.
End With
.Apply: [B2].Select 'Fait le tri selon les informations ci-dessus puis va en B2
End With
'Insérer Numéro création dans TriTNAM. Écriture colonne numéro création
NE = .ListRows.Count
For N = 1 To NE
Range("TNAM[Numéro création]").Item(N) = N
Next N
End With
End Sub
D'avance merci pour vos réponses.
BUDGETS
1 réponse
Résumé de la discussion
La problématique porte sur le calcul et l’affichage du numéro création dans le tableau TNAM, qui doit être précédé d’un code CNAM dérivé du contenu partiel du champ CNAM et excluant les chiffres. Plusieurs éléments évoqués préconisent CNAM + 1 via Application.CountIf(Range("TNAM[CNAM]"), cbCNAM.Value) pour le Numéro création, et signalent qu’une confusion CAM/CNAM empêche le remplissage correct; certains proposent de commenter la partie Numéro création dans TriTNAM. Des débats techniques sur la bonne utilisation de NE et N, et sur la nécessité de renommer N en NbLignes pour parcourir le TNAM, apportent une nuance utile sur la gestion des boucles dans la procédure de renumérotation.
-
Bonjour BUDGETS,
Si tu avais gardé les valeurs de codes NAM : DMR, DS, etc. au lieu de NAM01, NAM02, etc; tu pourrais simplement solutionner ton problème en concaténant le code NAM et le numéro attribué.
Sinon , c'est légèrement plus compliqué.
Cela dit, le numéro calculé dans cbCNAM_Change() est complètement écrasé par le code présent dans TriTNAM(), et de toutes façons les deux résultats ne sont pas conformes à ton souhait.
Cordialement-
Bonsoir ALS35,
'si tu avais gardé les valeurs de codes NAM...' : si possible référence du fichier ou du message dans lequel je peux retrouver cela. Code NAM : DMR, DS, DWE, etc. au lieu de NAM01, NAM02, NAM03, etc.Numéro de création (en Zone de texte ou en Intitulé ?) : CNAM & Application.CountIf(Range("TNAM[CNAM]"), cbCodeNAM.Value)+1 Avec différents tests, cela marche. Je suis moins con que j'en ai l'air ! Reste à voir pour le tri.
'Numéro calculé dans cbCNAM_Change" : je n'ai rien compris et en quoi 'les deux résultats ne sont pas conformes à mon souhait ?'
Ton fichier Budgets-ALS35-V11 (8), partie Accueil articles budgétaires m'intéresse beaucoup mais il manque beaucoup de choses(modification, suppression notamment) qui m'empêchent d'aller plus loin.
D'avance merci pour tes explications. -
-
-
Côté CAM, cela marche, le tri se fait correctement. Côté numéro de création : dans la bd articles menus, les lettres ne sont pas prises compte, le tri ne se fait pas en tenant compte de la dernière partie de la procédure TriTNAM. À la relecture, voulez-vous modifier ou supprimer, il semblerait que le numéro création soit incorrect.
https://www.cjoint.com/c/KIutRswt05q
Bonne nuit à toi aussi. -
-