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 !
Bonjour à tous NOM: Administrateur
Mot de passe: 0000
Dans un fichier un onglet appelé "LUTIN" dans lequel se trouve un bouton "FORMULAIRE" qui donne accès à un Userform appelé: "PERMIS ET FORMATION". Pour rentrer ne nouvelle personne, j'inscris son nom prénom et matricule et éventuellement je coche quelques case puis "ENREGISTRER".
Petit soucis:
- l'enregistrement ne se fait pas correctement . il n'est pas fait après la dernière ligne remplie mais en ligne 121 et se fait sur trois ou quatre ligne(je vous invite a faire un essai)
- d'autre part je voudrais déplacer le bouton "Formulaire" dans un autre onglet appelé lui aussi "FORMULAIRE".
Ton truc est très bien fait !!! et fonctionne bien
A moins que l'utilisateur "Lambda" ne comprenne pas la finalité
Mais il y a déjà pas de bug ..... après faut expliquer plus EXplicitement
Bonsoir Hervé,
Si a l'aide du formulaire je veux rajouter une personne, je rentre le nom dans la combobox ect et enregistrer.
Les informations se retrouvent automatiquement a la ligne 121 et non pas à la suite des autres noms.
Et puis je voulais mettre le bouton "Formulaire" dans un onglet appelé lui aussi "formulaire"
Mais dans ces cas là lorsque je clique sur la combobox je ne retrouve plus les noms.
je ne suis pas sur d'avoir été clair. Dit moi.
En feuille LUTIN la colonne A contient des textes invisibles, supprimez-les :
- en A18 le texte vide ""
- de A115 à A120 des formules...
De plus il faut modifier le code de l'USF :
Code:
Private Sub ComboBox1_Change()
Dim j&, k&
On Error Resume Next
If Flag Then Exit Sub
k = Application.Match(ComboBox1, Columns(1), 0)
On Error GoTo 0
If k <> 0 Then
l = ComboBox1.ListIndex + 12
For I = 1 To 26
Controls("CheckBox" & I) = IIf(Cells(l, I + 4) = "", 0, 1)
Controls("CheckBox" & I).BackColor = IIf(Controls("CheckBox" & I), vbGreen, vbWhite)
Next
TextBox1 = Cells(l, 4)
Else
l = [A65536].End(3)(2).Row
End If
Me.Height = 433
Me.Width = 555
Me.Top = Application.Height / 2 - Me.Height / 2
Me.Left = Application.Width / 2 - Me.Width / 2
End Sub
Private Sub CommandButton1_Click() 'ENREGISTRER
Cells(l, 1) = ComboBox1
Cells(l, 4) = TextBox1
Cells(l, 5).Resize(, 19).Font.Name = "Wingdings"
For I = 1 To 26 '26 egal le nombre de case ˆ cocher
Cells(l, I + 4) = IIf(Controls("CheckBox" & I) = 0, "", "ü")
Next
End Sub
Effectivement la cellule A18 est bien vide(enfin chez moi. pour les cellule de A115 à A120 la formule est présente dans mon fichier. C'est la concanisation des cellule B et C.
Par contre apres changement de code, toujours le meme problème le nouveau SP est enregistrer en ligne 120
Private Sub CommandButton1_Click() 'ENREGISTRER
If ComboBox1 = "" Then Exit Sub
Cells(l, 1) = ComboBox1
Cells(l, 4) = TextBox1
Cells(l, 5).Resize(, 19).Font.Name = "Wingdings"
For I = 1 To 26 '26 egal le nombre de case ˆ cocher
Cells(l, I + 4) = IIf(Controls("CheckBox" & I) = 0, "", "ü")
Next
End Sub
2) Comme Combobox1 donne le nom et le prénom, les colonnes B et C sont inutiles, supprimez-les.
Re,
Merci beaucoup je regarde cela dès demain (je ne suis plus à la maison, plus de PC)
Merci en attendant, je vous tiens au courant.
Bonne soirée
Toubabou
Bonsoir tous , Slt Job
J'ai mis un peu de temps , mais j'ai pigé ..... le Pourquoi ( j'ai eu le tour il y a 2ans)
En fait tu cherches ta der. ligne en A , or tu as une formule et elle s'arrête en 120 ... tiens ?
Et oui la méthode Tradi ne fonctionne pas donc tu as style 120 ou 121 !
Je suis en train d'essayer les solutions que j'ai , mais ça ne marche pas dans ton cas ( moi cela avait été !)
Bon , au lieu de ça il faudrait passer en B
Pb : J'ai pas vu comment tu mettais ( en B & C) ce que l'on entre dans ta Combo ?? , en effet on peut mettre ce que l'on veut
Ensuite tu affiches DIRECT en A , mais tu as : "CONCATENER B & C" ??? je vois pas l'intérêt !
Suggestion : Met 2 TEXTBOX ( si c'est pour ajouter) Nom & Prenom
Tu pourras ensuite l'ajouter en COMBO ( pour recherche)
Enfin tu laisses ta Concat. en A
Et au lieu de se casser la tête !! tu fais ton XLUP via B ou C !!
A Réviser ( Au fait je sais pas pourquoi mais après Modif et TEST en DEBUG , l'arrêt provoque PLANTAGE EXCEL ?? qui redémarre ensuite)😕
Pour Mes connaissances ! : si quelqu'un sait , j'aurai bien aimé savoir pourquoi cette fonction (mise dans un Module) ne fonctionne pas dans ce cas , je l'appelle depuis la Combo ex : Lig=GetDerLigneTexte() ;
Code:
Function GetDerLigneTexte() As Long
Dim plg As Range
On Error Resume Next
Set plg = Range("A12:A200").SpecialCells(xlCellTypeFormulas, xlTextValues)
If Not plg Is Nothing Then
With plg.Areas(plg.Areas.Count)
GetDerLigneTexte = .Cells(.Cells.Count).Row
End With
End If
Bonsoir Hervé 62, bonsoir à tous,
au départ je rentrai manuellement les noms et prénoms de chaque personne. Mais le soucis est que j'ai des patronymes avec deux prénoms(personne d'une même famille). Donc pour pouvoir sélectionner la bonne personne j'ai été obligé de concaténer.
Je ne sais pas comment mettre deux ComboBox.
@+
Ben oui j'ai compris , mais si tu as mis 2 Textbox au début t'as pas les mêmes Nom Prénom ???
Ensuite tu peux Facilement concaténer en VBA lors de l'affichage de la ComBo
Ex :
Textbox1 > Nom : Legars
Textbox2 >Prénom : Luc
puis si tu entres
Nom Legars
Prénom : Marc
Ensuite tu concatènes : Nom & Prénom ( ex dans une variable ) puis tu la mets dans ta Combo (list ou AddItem)
Simple , non ?? ou j'ai pas pigé !!
- 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