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
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