Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

USF de gestion de base de données en 1 seul USF

loub35

XLDnaute Junior
Bonjour le Forum, je cherche une demo expliquant la construction d'une USF permettant de gerer une BDD (Ajouter, Modifier, Supprimer) tout simplement...J'ai trouvé un lien sur le forum (en fin de ce message), mais impossible de l'ouvrir : "vous devez vous connecter"...
Quelqu'un peut-il me venir en aide?
Merci

Re: Userform + bouton de modification

--------------------------------------------------------------------------------

Bonjour Gérard, le Forum

Sorry des délais pour te répondre mais avec l'été...

Donc aujourd'hui je suis tombé sur ta question, vieux motard que jamais !

Pour te répondre dans l'ordre, les "i = i + 1" et autres méthodes du même genre sont le B. A. BA pour construire des boucles....

Admettons, tu veux "éplucher" toutes les cellules comprises dans ton Tableau qui va de A1 à Axxx (on ne sait pas pour l'écrire en fixe) donc on va avoir besoin de :

un "i" qui sera "Integer" car on prévoit que tu peux avoir jusqu'à 32 767 lignes dans ton tableau (si Plus on passe en "Long")

un "L" qui sera aussi "Integer" car il va travailler de pair avec le "i"... car il va aller compter le nombre de ligne ("L" pour Ligne !)

Donc on va écrire comme suit les déclarations de Variable:

Sub Gerardiiiiii ()
Dim i As Integer
Dim L As Integer

Ensuite on va dire que L est la dernière Ligne NON-Vide en Partant du Bas (le bas, la dernière Ligne dans Excel est la 65536eme...)

L = Range("A65536").End(xlUp).Row

Donc "L" sait maintenant où est ta dernière entrée en colonne "A"...

Pour passer en reveue toutes les cellules je vais faire une Boucle comme ceci :

For i = 2 to L

Pourquoi 2 ?..... Parceque je pense que tu as une entête dans ton tableau qui ne va pas servir....

Donc on aprt de la Ligne 2 à la Dernière Ligne ("L").... (ok ?)

Ensuite rien de plus facile que de remplir un ComboBox

Private Sub UserForm_Initialize()
Dim i As Integer
Dim L As Integer

L = Range("A65536").End(xlUp).Row

For i = 2 to L
ComboBox1.AddItem Range("A" & i)
End With
Next i

End Sub

Donc à chaque passage de la boucle avec le Next "i" la Combobox avec le AddItem va recevoir la valeur de la cellule "A2", puis au tour suivant "A3" etc jusqu'à la Limite "L"... (ok ?)

Voilà Gérard à quoi servent ces 'i', "j", "x", "L", on peut y mettre tout l'alphabet !!!

Dans l'exemple ci-dessus il n'y a pas besoin d'incrémenter le "i" par i = i +1 car la boucle For "i" le fait d'elle même, mais je pourrais en avoir besoin dans d'autres cas de figures pour fair idem...

Je t'ai fait une démo complète en partant de ton propre fichier, mais étant donné l'ancienneté de ce fil de discussion je te donne rendez-vous dans un fil tout neuf vu que cette question revient en permanence sur ce Forum :

=> DEMO UserForm de Gestion base de données (Ajout/Modif/Supress) en un seul USF

Bonne Soirée
@+Thierry
 

Hervé

XLDnaute Barbatruc
Re : USF de gestion de base de données en 1 seul USF

bonjour

merci béa

comme je l'avais dit, ce fichier n'est qu'une ebauche, il faut lui adjoindre tout les tests habituels.

en pièce jointe le meme bidule un peu plus poussé.

loub ?

c'est quoi une "base en liste" ?

salut
 

Pièces jointes

  • Usf-Bdd.zip
    19.5 KB · Affichages: 113
  • Usf-Bdd.zip
    19.5 KB · Affichages: 115
  • Usf-Bdd.zip
    19.5 KB · Affichages: 118

loub35

XLDnaute Junior
Re : USF de gestion de base de données en 1 seul USF

Merci Hervé pour tes efforts, une "base en liste" : sous excel 2003, possibilité de créer des "listes" pour une plage de cellules : ce format permet d'ajouter, de modifier les données à partir d'un formulaire et surtout les traitements en bas des colonnes s'actualisent automatiquement : somme, moyenne, écart-type, etc...C'est un moyen assez efficace que j'utilise dans mes petites appli, mais je suis un néophyte, il y a peut-être + simple ou mieux !!
 

Discussions similaires

Réponses
7
Affichages
288
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…