Modification d'une base de donnée

Bonjour à tous,

Je fais appel à votre aide car je n'arrive plus à avancer sur mon projet. Je suis actuellement entrain de travailler sur un fichier qui a pour but de générer des organigrammes de chantier (A cause de la fréquence de création). Etant débutant, j'ai beaucoup recherché sur des forums ou des vidéos. Mais malheureusement pour moi je bloque sur la modification d'un intervenant (Modification dans la base). En effet, un employé peut potentiellement avoir des nouvelles habilitations ou évoluer dans l'entreprise. A l'heure actuelle, je suis capable d'ajouter l'intervenant dans la BDD, mais incapable de le modifier via une autre fenêtre de modification.

Pouvez-vous me venir en aide, s'il vous plaît ? Votre aide sera grandement appréciée.

Je suis disponible pour d'autres informations.

Thomas

Bonjour Bonkers76 et

Une petite présentation ICI serait la bienvenue

Si vous ne l'avez pas encore fait, je vous invite à lire la charte du forum [A LIRE AVANT DE POSTER] ainsi que ses fonctionnalités
qui vous aideront dans vos demandes et réponses sur ce forum.

Merci de votre participation

Cordialement

Bonsoir,

Veillez m'excuser, c'est fait.

Bonne soirée à vous.

Bonjour

Tu m'as fait rajeunir de quelques années... Après Porcheville, j'ai bossé à Malville et j'ai fini à Bugey....

Ci joint un début de solution (certainement améliorable) ...

J'ai préféré une seule base de données pour tout le personnel

On peut traiter les managers, responsable de chantier et autres comme des habilitations (à toi de voir)

11bonkers.zip (132.04 Ko)

A+ François

Bonjour Fanfan38,

Merci d'avoir consacré du temps pour mon petit projet. Effectivement, nous intervenons dans les centrales. J'ai adoré ton idée mais malheureusement je préfère dissocier les Bases de donnes (intervenant, chargé d'affaire cnpe,... Etc) , pour une raison pratique vis à vis des informations utiles.

Tu as vu plus loin dans le projet et ça me confirme que ce forum à l'air d'être d'une belle communauté. Cependant, je pense avoir mal exprimé mon problème.

Je voudrais uniquement pouvoir modifier les intervenants déjà crées. A l'heure actuelle, on peut trouver dans le bouton remplissage intervenant :

- créer intervenant : dans le cas où la personne n'existe pas.

ou

- modifier intervenant : dans le cas où la personne existe.

En allant dans l'onglet modifier, une fenêtre s'ouvrira, comportant une liste déroulante pour retrouver l'intervenant. Une fois choisi je modifie, et valide pour mettre à jour.

Pour le moment, la personne apparaît bien par la liste déroulante, en faisant apparaître les informations le concernant. Mais malheureusement, je suis bloqué pour remettre à jour dans la base de donnée. Mon code et ma logique n'est pas bonne😌.

bonne soirée !

Thomas

Bonjour

Est ce que ça correspond plus à tes souhaits ?

A+ François

Bonjour,

Malheureusement ce n'est pas ma demande. Dans votre fichier, mes fenêtres de création / modification intervenant ont disparu. Et c'est par ces fenêtres que je voudrais ajouter des intervenants, ou bien les modifier si une mise à jour est nécessaire.

Merci à vous tout de même.

Thomas

Exact. J'ai oublié les boutons ajout et modif intervenant

Modif exécutée

A+ François

J'ai créer un intervenant et chercher à le modifier (pas de mis à jour dans la base de donnée) . Malheureusement, ça ne fonctionne pas . La macro est opérationnelle chez vous ?

Exact. Erreur corrigée

A+ François

Merci beaucoup ! Ça fonctionne. Je vais pouvoir bien avancer sur le sujet.

Bonne soirée et bon weekend.

Thomas

Bonjour ,

Je reviens à la charge sur mon petit fichier !

En supprimant parfois des personnes, j'ai un bug au niveau d'ici (se réalise également sur les agents, mpl, ir..). Quand je débug, je suis incapable de sélectionner des cellules et colonnes. Ce n'est pas un bug que j'ai tout le temps, mais une fois qu'il apparaît, je suis bloqué .

Avez-vous une piste ?

Bonne soirée,

Thomas

Then [T_ir].Rows(n).Delete
Private Sub CommandButton_effacer_ir_Click()
 If modifier_ir_nom_prenom = "" Then
    MsgBox "Veuillez choisir un ingénieur de réalisation à supprimer."
    Exit Sub
  End If
  Dim n As Long
  n = Me.modifier_ir_nom_prenom.ListIndex + 1
  If MsgBox("Etes-vous sûr de vouloir supprimer cet ingénieur de réalisation ?", vbYesNo + vbCritical, "Suppression ingénieur") = vbYes Then
    If [T_ir].Item(n, 1) <> "" Then [T_ir].Rows(n).Delete
    Unload Me
    MsgBox "L'ingénieur de réalisation a été correctement supprimé."
  End If
  [T_ir].Sort Key1:=[T_ir[NOM / prénom]], Order1:=xlAscending, Header:=xlGuess  'tri
End Sub

Bonjour

J'ajourerai seumement un

if Me.modifier_ir_nom_prenom.ListIndex=-1 then exit sub

et en debut de macro on error goto fin

et en fin de macro (avant le exit sub)

fin:

A+ François

Bonjour,

J'ai apporté les modifications dans la partie intervenant. L' erreur fini par revenir et faire buguer mon fichier.( incapacité de sélectionner des cellules + suppression intervenant impossible) . Avant la modification que tu m'as apporté, j'avais la fenêtre " erreur d'exécution '1004': la méthode delete de la classe range a échoué." (si jamais ça peut apporter des informations supplémentaires..)

Merci encore de ton temps et ta grande disponibilité.

Bonne journée Thomas

Bonjour

J'ai corrigé quelques petites erreurs (exemple pour supprimer une ligne s'un tableau structuré on ne met pas entirerow...)

A+ François

Bonjour,

Le entirerow a été ajouté pour essayer de trouver une solution à mon problème. Visiblement qui est inutile . Avez-vous vu quelque chose de particulier mis à part cette maladresse ? Désolé du dérangement

cordialement,

Thomas

Bonjour,

Malheureusement, l'erreur revient et plante complètement le fichier. Si je n'ai pas enregistré avant c'est foutu. Etrange bug.

Bonne journée,

Thomas

Bonjour

J'ai fait quelques modifs: if combobox.value="" remplacé par if combobox.listindex=-1

car si tu mets un nom qui n'est pas dans la base, combobox n'est pas egal à "" et pourtant il y a plantage...

si ça se reproduit il faudrait que je sache quand et comment ça bug. (si possible valeur de n)

A+ François

Bonjour,

J'ai essayé d'ajouter et supprimer des intervenants et voilà ce qui se produit :

capture 1 capture 2

J'ai un doute que ce bug est un rapport avec le précédent. Ce diag est plutôt intéressant, malgré que je sois limité par mes connaissances. (merci encore pour ton temps)

Bonne journée,

Thomas

Bonjour Thomas,

Même si VBAProject vous montre le bug sur cette ligne, ce n'est pas là qu'est le problème

Au moment du bug, faite F8 pour faire défiler le code, dans l'évènement Initialize vous devez mettre à jour une/des ListBox
et c'est là qu'est le souci

A+

Rechercher des sujets similaires à "modification base donnee"