Ajouter ou supprimer des données d'une base de données en vba

sapheron

XLDnaute Junior
Bonjour,

Je souhaiterais créer un bouton qui permettra de modifier une base de données d'une liste de choix.

La méthode que j'utilise est celle ci

J'appelle un userbox qui demande quel base de données sélectionner.
Ensuite je détermine sa position dans mon classeur et la sélectionne et la défini comme nouvelle référence ( a la place d'utilisé la cellule "A1" qui est de base)
pour ce faire j'utilise le code vba suivant :

Code:
ActiveCell.CurrentRegion.Name = "Base_de_données"
ActiveSheet.ShowDataForm

Puis je redéfinis la base de donnée grace a la formule suivante :

Code:
Set Fin = Range("A65536").End(xlUp)
    ActiveWorkbook.Names.Add "Secteur", Range(Range("A2"), Fin) 'Definition du champs "Zone"
    ThisWorkbook.Sheets("Evaluation du risque").Select

J'aimerais d'abord savoir si une méthode plus simple existe? Et si oui c'est quoi?

Sinon si cette solution est bonne je suis bloqué en ce qui concerne la recherche de ma base de donné. J'espéré utilisé un méthode équivalente, en vba, aux fonctions recherche() et Index(). Mais je n'ai pas réussi a trouver :/ . Pouvez vous me montrer la voie qui mène au salut ?

Je vous joins mon fichier par la même occasion et je vous remercie
 

Pièces jointes

  • Document Unique.xls
    58 KB · Affichages: 69
  • Document Unique.xls
    58 KB · Affichages: 77
  • Document Unique.xls
    58 KB · Affichages: 78

Gareth

XLDnaute Impliqué
Re : Ajouter ou supprimer des données d'une base de données en vba

Bonjour,

Je crois que je n'ai pas compris grand chose.
Peux tu préciser ce que tu veux faire ?
Où est (sont) la (les) base(s) de données ?

Ci-dessous un bout de code modifié dans le module 1.
Code:
Sub Secteur()
ActiveWorkbook.Names.Add "Base_de_données", Sheets("liste des secteurs").Range("A1:A" & Sheets("liste des secteurs").Range("A60000").End(xlUp).Row).Address
Worksheets("liste des secteurs").Select
ActiveSheet.ShowDataForm 'Ajouter ou supprimer une zone dans la base de données
ActiveWorkbook.Names.Add "Zone", Sheets("liste des secteurs").Range("A1:A" & Sheets("liste des secteurs").Range("A60000").End(xlUp).Row).Address 'Definition du champs "Zone"
Sheets("Evaluation du risque").Select
End Sub

Qu'est ce que doit faire le UserForm ?
 

sapheron

XLDnaute Junior
Re : Ajouter ou supprimer des données d'une base de données en vba

Bonjour Gareth,

Tout d'abord je tiens a te remercier de t'intéresser a mon cas.
Ensuite, j'avoue que c'est pas le sujet le plus clair que j'ai fait.
J'aimerais que dans mon fichier, faire varier les données présentes dans une liste déroulante, celle des postes de travail, par rapport a la données qui a été choisi dans une autre liste, celle des secteurs. Ces données correspondent aux postes de travail présents dans chaque secteur. Je ne sait pas encore faire cela mais un problème à la fois comme on dit, même si je pense avoir une idée.
Mais les données présentes dans ces bases de données ne sont pas statique, c'est a dire que je veux pouvoir rajouter ou supprimer des secteur ou des poste de travail.Mes base de données, c'est a dire mes secteur et mes postes de travail, se trouve dans l'onglet "liste des secteur" et dans l'onglet postes de travail. Et c'est dans cette partie que j'ai besoin d'éclairement.

Pour l'userform, c'est avant tout pour sélectionner le secteur dans lequel je veux procéder a un modification du poste de travail.
 

Gareth

XLDnaute Impliqué
Re : Ajouter ou supprimer des données d'une base de données en vba

Bonjour,

Où sont ces fameuses Liste déroulantes ?
Ou bien, où doivent elles etre ?

Où sont les bases de données ?
Je ne vois qu'une base dans l'onglet Postes de travail ...
 
Dernière édition:

sapheron

XLDnaute Junior
Re : Ajouter ou supprimer des données d'une base de données en vba

Bonjour,

Les liste déroulante devront se trouver dans les colonnes secteurs et poste de travail des feuilles "évaluation du risques" et "prévention du risque".
Les bases de données, ce qui correspond au données qui devront être présentes dans les listes déroulantes, se trouvent dans l'onglet "liste des secteur", pour la base de donnée qui contient mes secteurs, et dans l'onglet "postes de travail" pour celui qui contient mes postes de travail.
 

Gareth

XLDnaute Impliqué
Re : Ajouter ou supprimer des données d'une base de données en vba

Re,

Voir les listes se référant à des noms variables dans le fichier joint
 

Pièces jointes

  • Document Unique.xls
    59.5 KB · Affichages: 56
  • Document Unique.xls
    59.5 KB · Affichages: 67
  • Document Unique.xls
    59.5 KB · Affichages: 67

sapheron

XLDnaute Junior
Re : Ajouter ou supprimer des données d'une base de données en vba

Pour le moment je n'ai pas encore constitué les bases de données. Mais dans poste de travail, il y aura sur la première ligne le secteur et toutes les lignes directement en dessous de lui, seront les postes de travail qui se trouvent dans ce secteur.
 

sapheron

XLDnaute Junior
Re : Ajouter ou supprimer des données d'une base de données en vba

Merci sa marche nickel comme système par contre comment tu fait si jamais tu veux rajouter ou supprimer un poste de travail?
Peux tu également m'expliquer comment tu as fait? Car j'aimerais savoir le reproduire à l'avenir.

Je te remercie encore d'avoir pris du temps pour aider le débutant que je suis.
 

Gareth

XLDnaute Impliqué
Re : Ajouter ou supprimer des données d'une base de données en vba

Bonsoir,

Normalement l'ajout de données est pris en compte automatiquement.
Ci-joint, une version commentée.
 

Pièces jointes

  • Document Unique.xls
    64 KB · Affichages: 68
  • Document Unique.xls
    64 KB · Affichages: 63
  • Document Unique.xls
    64 KB · Affichages: 60

Gareth

XLDnaute Impliqué
Re : Ajouter ou supprimer des données d'une base de données en vba

Bonsoir,

Ci-joint une version avec une ComboBox.
 

Pièces jointes

  • Document Unique.xls
    74 KB · Affichages: 98
  • Document Unique.xls
    74 KB · Affichages: 90
  • Document Unique.xls
    74 KB · Affichages: 97

Discussions similaires

Réponses
7
Affichages
377

Statistiques des forums

Discussions
312 345
Messages
2 087 477
Membres
103 555
dernier inscrit
Chtio