VBA : générer un ID automatique

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 !

ultra_v

XLDnaute Occasionnel
bonsoir ,


c'est une application développé par un fourmiste , qui gère un certaine donnée j'ai rajouté une colonne nommée N° ( BD , A ) , sur l'userform j'ai rajouté textbox10 jusqu'à là tout est bon pas de bug dans l'application :

1 - alors le problème sur la listebox nommée ( choixnom ) est paramétrée d’afficher les données de la colonne A , je voudrais afficher les données de la colonne B ( Nom ) , j'ai modifié les codes suivants

Code:
 ligne = f.[a:a].Find(choixnom, LookIn:=xlValues).Row
Set temp = f.[a:a].Find(Me.Txt1, LookIn:=xlValues)
      ligne = f.[a:a].Find(Me.Txt1, LookIn:=xlValues).Row
     For Each c In Range(f.[a2], f.[a65000].End(xlUp))
For Each c In Range(f.[a2], f.[a65000].End(xlUp))

( tout ce qui A est devenuB ) , mais y avait des bugs quand je clique sur une lettre d'alphabète pour afficher les noms qui correspondant je ne vois rien sur la liste


-2 : je voudrais générer le N° (colonne A) automatiquement 1,2,3,4,5,6....pour chaque nouvelle enregistrement textbox1 sera figé contre écriture ou modification , merci d'avance
 

Pièces jointes

Re : VBA : générer un ID automatique

Bonsoir.
Votre module de classe ClasseLettres travaille avec la colonne A alors que vos noms sont dans la colonne B.
Ensuite ses 2 dernières instructions posent un problème parce qu'elles provoquent l'exécution de la ChoixNom_Click alors que la ListBox n'a pas de valeur. En arrangeant déjà ces deux points, on a du progrès.
 
Re : VBA : générer un ID automatique

Voyez le module de classe ClasseLettres. Il essaye toujours de ranger des noms de la colonne A alors qu'ils n'y sont pas.
Ou alors changez de système. Je préfèrerais pour ma part taper deux ou trois lettre du nom dans le ComboBox et qu'il me propose la suite ou m'affiche toute la liste par ordre alpha à partir là ou j'en étais resté dans ma frappe.
 
Dernière édition:
Re : VBA : générer un ID automatique

Le coup du ComboBox ? Oui très facilement, à l'aide de deux modules de service.
Et avec deux modules de plus ont peut faire des recherches sur plusieurs ComboBox, chaque choix réduisant les listes proposées dans les restants, et toutes les listes y étant toujours classées. Et ce au prix d'une programmation assez simple dans l'Userform.
De plus il n'y a plus besoin de refaire de recherche dans le tableau d'origine, on obtient directement les numéros des lignes concernées.
Si vous tenez à afficher ces numéros de lignes en colonne A, bien que ça ne serve absolument à rien, il suffit d'y mettre la Formula "=ROW()-1" et ne pas en tenir compte autrement dans le code.

P.S. Important. Avant d'aller plus loin essayez déjà tout simplement ça, la feuille BD étant active :
VB:
Sub Macro1()
Range("A1").Select
ActiveSheet.ShowDataForm
End Sub
Ça semble avoir beaucoup d'aspects communs avec ce que vous aviez envisagé dans vos premiers jet: les contrôles alignés les un en dessous des autres, et un bouton toupie pour changer d'enregistrement (sauf que là c'est un ascenseur). Alors à quoi bon réinventer la poudre si tout y est et plus encore ?

Sois dit en passant, je me demande quelle quantité de code il prend, ce truc, souvent délaissé dans
Excel ! Ça doit être dingue à coté de mes modules de service !
 
Dernière édition:
- 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

Réponses
5
Affichages
565
Réponses
7
Affichages
620
Retour