USERFORM de Gestion d'ajout et de retrait de noms

belerofon

XLDnaute Occasionnel
Bonjour à tous,
Comme un jour n'est pas suffisant pour en savoir assez sur VB et que j'ai très envie d'en savoir plus, me revoila aujourd'hui pour en apprendre davantage...
Hier j'ai deja appris beaucoup et ca commence a rentrer mais la syntaxe ne s'improvise pas malheureusement , d'ou ce nouveau message...
J'ai préparé un exemple d'un USERFORM dont le bouton se trouve sur un onglet qui permettrait d ajouter et de retirer des noms d'une liste se trouvant dans un autre onglet.
Le formulaire est tres simple, et j'ai annoté le code pour expliciter mes besoins...
Jusqu a present je n'ai pas reussi a mettre en forme les données, comme par exemple les rendre gracieuses avec des lignes pour faire un joli tableau :s ni meme trier mes données par ordre alphabetique via VB.

Merci d'avance les zamis...
PS: Staple si tu me lis, constate a quel point j'évolue lol
 

Pièces jointes

  • exemple2.xls
    60.5 KB · Affichages: 69
  • exemple2.xls
    60.5 KB · Affichages: 63
  • exemple2.xls
    60.5 KB · Affichages: 65

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : USERFORM de Gestion d'ajout et de retrait de noms

Bonjour belerofon,

voici déjà pour l'ajout d'une nouvelle saisie, en majuscules et en respectant le quadrillage
Code:
Private Sub CommandButton1_Click()
Sheets("DataBase").Select
derligne = Range("A65535").End(xlUp).Row
Cells(derligne, 1).Select
    Selection.Copy
Cells(derligne + 1, 1).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
Cells(derligne + 1, 1).Value = UCase(TextBox1.Value)

'ici on cherche a ajouter des nom dans la liste de l'onglet DataBase (en majuscule!)

'ici on cherche a ce que la mise en forme poursuive l'aspect "tableau" grace a des lignes de contours fines

End Sub
à+
Philippe
 

belerofon

XLDnaute Occasionnel
Re : USERFORM de Gestion d'ajout et de retrait de noms

Ok, si j'ai bien compris, tu fais un copier coller de la derniere cellule de la liste juste en dessous pour respecter le quadrillage, puis tu colle dans la cellule créée le contenu de la saisie du formulaire... Pas con :)
Par contre le probleme maintenant c est que la cellule nouvellement formée ne fais plus partie de la liste "Nom" .
Est ce que si à la place de faire un copy/paste on faisait une insertion ca résoudrait le probleme?
 

belerofon

XLDnaute Occasionnel
Re : USERFORM de Gestion d'ajout et de retrait de noms

waouh... code de malade, tout expliqué ... un vrai livre de VB ce Roro...
J'vais avoir de quoi faire joujou des heures avec ca...
Par contre est ce que c'est voulu que quand j essaye de supprimer un nom de la liste, il apparait aussi dans la textbox1 qui sert a ajouter?
Je vais essayer de le modifier sans rien casser pour que ce ne soit plus possible, car ca laisse l'opportunite de faire un doublon et je veut que cette liste reste sans doublon...
Vu la clarté de ton code je devrais reussir facilement et pu t'embeter, mais qui sait, un noob reste un noob :)

Encore merci Roro
 

belerofon

XLDnaute Occasionnel
Re : USERFORM de Gestion d'ajout et de retrait de noms

ok trouvé...
Par contre, je viens de trouver un bug :s
Il est du à la mise en forme Majuscule des noms...
Si le nom ALPHA existe dans la liste, et que je tente de l ajouter a nouveau en entrant ALPHA, il va ouvrir une boite de confirmation pour faire un doublon...
Par contre si j écris Alpha, alpha ou bien encore ALphA par exemple, il va créer le doublon sans ouvrir la boite car j imagine que pour VB Alpha est different de ALPHA... non?
 

belerofon

XLDnaute Occasionnel
Re : USERFORM de Gestion d'ajout et de retrait de noms

Roro, j'ai un probleme...lol
J'ai tout bien modifier ton code dans mon fichier exemple pour le faconner a mon utilisation future et ca roule maintenant...
sauf que quand je colle le code dans mon fichier pro, c est la loose... il me demande de debugger j peut pu ni ajouter ni supprimer alors que ca marche dans le fichier exemple...
Il me dit : "erreur d execution 91
variable objet ou variable de bloc With non definie, et me ramene sous vb a la ligne :

'On identifie la dernière ligne vide en partant du bas
L = WS.Range("A65536").End(xlUp).Row + 1

de plus j avais pas mentionné que dans l onglet "DataBase il y a d autres daonnées dans les colonnes suivantes donc l instruction :

With WS
.Rows(Me.ComboBox1.ListIndex + 2).EntireRow.Delete
End With

devrait etre remplacée par une qui demande de supprimer uniquement la cellule concernée sous risque de perte de données dans les autres colonnes non?

désolé d etre si noob, j ai essayé de remplacer les Rows par des Cells mais ca veut pas a priori :s
 

belerofon

XLDnaute Occasionnel
Re : USERFORM de Gestion d'ajout et de retrait de noms

Roro,
dans mon fichier "pro" (j aime les guillements :) ) , l ensemble des noms etait regroupé sous une liste nom pour etre utilisée dans un autre formulaire vu que je ne connaissait pas ta methode, si je vire la liste ca regle le bug?
 

roro69

XLDnaute Impliqué
Re : USERFORM de Gestion d'ajout et de retrait de noms

Re
Tu peut essayer de les supprimer et ensuite essayer le code ; ou si tu souhaite garder tes plages nommées alors il faudra coder différemment à toit de voir.
Pour les "guillemets" ; je te verse un petit jura de chez moi et je trinque à ta bonne santé.
A++
 

belerofon

XLDnaute Occasionnel
Re : USERFORM de Gestion d'ajout et de retrait de noms

Roro,
Non, pas besoin de conserver cette liste avec ta methode, j ai fait l essai en virant cette liste si bien qu il n y a plus de plage nommée dans la colonne A. Cependant meme avec ca, on me prie de débugger...
Pour le ptit jura, c est pas de refus, mais deja que sobre j ai mal au crane alors la...
J t enverrais bien mon fichier mais ca risque d etre galere...
bon allez j vais essayer quand meme
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 453
Messages
2 088 551
Membres
103 881
dernier inscrit
malbousquet