Fenêtre automatique

Présentation
Bonjour
Je souhaiterai partager ce petit bout de programme excel qui vous facilitera la saisie de basse de donnée.
Un userform avec une listbox alimenté par votre bd et autan de textbox qu'il y as de colonnes.
Un petit mode d'emplois ce trouve dans l'userform lui même.
Un bon exemple sur l'utilisation d'un userform (afficher,rechercher,modifier,créer) , sur les variables tableau,les recherches et calendrier ext...
Nos ressources disponibles
Pour une meilleur utilisation, enregistré le classeur en macro complémentaire puis créer un bouton qui le lancera.
Je suis ouvert a toutes remarque et a toute amélioration . Servez-vous en !
Je le partage avec grand plaisir
Merci
Téléchargement
2  0 
Téléchargé 692 fois Voir les 10 commentaires
Détails
Avatar de ericdu06
Membre régulier
Voir tous les téléchargements de l'auteur
Licence : Gratuit
Date de mise en ligne : 15 septembre 2016




Avatar de kiki29 kiki29 - Expert éminent sénior https://www.developpez.com
le 05/06/2016 à 19:36
Salut, ton fichier téléchargé apparait sans extension ( normalement xlsm ).
Avatar de ericdu06 ericdu06 - Membre régulier https://www.developpez.com
le 05/06/2016 à 19:59
Bonjour, je ne comprend pas pourquoi il est a la mauvaise extension .
J'ai essayé de l'ouvrir via le forum et j'ai réussi. Dans la fenêtre ouvrir avec, il faut sélectionner Excel
Merci
Avatar de kiki29 kiki29 - Expert éminent sénior https://www.developpez.com
le 06/06/2016 à 1:34
Re, c'est en fait un problème récurrent et pas systématique sur ce forum, maintes fois signalé et jamais résolu à ce jour.
Avatar de patricktoulon patricktoulon - Membre extrêmement actif https://www.developpez.com
le 07/06/2016 à 10:07
Bonjour
pas mal du tout
néanmoins il y a quelques détails que tu pourrais corriger

1°les largeurs de colonne de la liste box
la limite a 17 colonne c'est assez rédhibitoire dans le sens ou a partir du moment ou tu utilise une classe control tu peut la faire automatique en terme de nombre de colonne et sans restriction

2 le format pour les codes postal est a revoir dans la listbox (voir capture )

l'idée de la 2 eme ligne pour les format de control (en jaune ) pourrait te permettre de pouvoir créer des control dynamique ( gérés par la classe )alors que toi finalement tu t'en sert pas si ce n'est que pendant l'évènement control ou pour chargement
Avatar de ericdu06 ericdu06 - Membre régulier https://www.developpez.com
le 07/06/2016 à 18:19
Bonjour, et merci pour le retour .
J'ai corrigé quelques bug et rallongé le nombre de textbox (a 30 : mais je ne peut pas le faire a l'infini)
Dans ma prochaine version je souhaiterai inclure la recherche sur plusieurs champs (sa peut être utile)
En parlant de recherche, j'aimerai mettre un système de temporisation avant de lancer la boucle..de façon a pouvoir rechercher directement un mot ou une suite!
ça gagnerais en efficacité
Les formats, ainsi que la date qui s'inverse entre le moi et le jour on été corrigé.

"l'idée de la 2 eme ligne pour les format de control (en jaune ) pourrait te permettre de pouvoir créer des control dynamique ( gérés par la classe )alors que toi finalement tu t'en sert pas si ce n'est que pendant l'évènement control ou pour chargement "

Je ne saisi pas ! Je vais me pencher sur la solution

Merci
Avatar de patricktoulon patricktoulon - Membre extrêmement actif https://www.developpez.com
le 11/06/2016 à 10:28
bonjour

exuse pour cette absence mais j'ai du boulot en ce moment par dessus la tète

bon je ré explique
a partir du moment ou tu utilise une ligne jaune pour déterminer le type de control tu n'est pas obligé de les mettre en dur mais plutôt de les créer dynamiquement

ensuite la limite de 17 ou même de 30 est plutôt boff

tu utilise des boucle for x= 1 to y
utilise plutôt des boucle for each cel in range(xy:azz)
de cette manière on a pas de limite basse ou haute en terme de controls

ensuite pour les widths de colonne de la liste box tu trouvera dans divers discution aux quelles j'ai participé
comment je les règle
encore une fois une boucle for each cel......

exemple il te serait facile d'intégrer cela dans ta classe
et comme tu peux le constater la seule limite est la plage de cellule
de cette manière c'est universel les colonnes sont ajustées et la largeur de la liste box aussi

teste ceci dans un classeur vierge et met des colonne de largeur différentes dans ta plage

Code : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
Private Sub UserForm_Activate()
Dim plage As Range,w as long 
Set plage = Range("A1:d10")
tablo = plage.Value
ListBox1.ColumnCount = plage.Columns.Count
For Each col In plage.Rows(1).Cells
thewidth = thewidth & Round(col.ColumnWidth) * 4.5 & ";": w = w + Round(col.ColumnWidth) * 5
Next
ListBox1.ColumnWidths = Mid(thewidth, 1, Len(thewidth) - 1):ListBox1.List = plage.Value:ListBox1.Width = w
Debug.Print thewidth
End Sub
et pour les controls dynamiques avec userform1.controlsadd....... dans la même boucle for each (la rows(1) étant la ligne des entêtes de ta plage )et pour le type de control se serait col.offset(1,0)qui nous donne la cellule en jaune et donc le type de control

je te ferait un exemple la semaine prochaine sa devrait être plus calme au boulot
Avatar de ericdu06 ericdu06 - Membre régulier https://www.developpez.com
le 15/06/2016 à 18:56
Bonjour Patrick

Merci pour tes conseilles, qui me sont précieux
J'ai testé le code dans un classeur vierge, c'est pas mal du tout
Je vais faire un mixte et incorporé ce code.
Pour la limite c'est plutôt une question d’esthétique et de taille de l'userform, mais tu as raison ce n'est pas top
Peut être la solution serais des onglets, mais je veut que sa reste simple..mais l'important c'est que toutes les données soient accessible

A bientôt.
Avatar de kiki29 kiki29 - Expert éminent sénior https://www.developpez.com
le 15/06/2016 à 21:32
Bonjour les poètes : Antidote d'urgence .
Avatar de ericdu06 ericdu06 - Membre régulier https://www.developpez.com
le 16/06/2016 à 19:53
J'ai posté une mise a jour plus stable, et les recherches multicritères son actifs.
Developpez.com décline toute responsabilité quant à l'utilisation des différents éléments téléchargés.
Responsables bénévoles de la rubrique Excel : Pierre Fauconnier - Arkham46 -