Accord pour adapter un fichier

  • Initiateur de la discussion G'Claire
  • Date de début
G

G'Claire

Guest
Salut a toutes et tous

Ce message s'adresse en particulier a M Denis MICHON, pour avoir son accord pour pouvoir modifier un de ces dévellopement "Gestion de base de données" me rendrai bien utile en essayant de l'adapter a mes besoins (Gérer des dossier).

Je le remerci d'avance, G'Claire
 
G

G'Claire

Guest
Resalut a toutes et tous

J'espère que Denis ne m'en voudra pas trop pour ces petites modif apportées a ce fichier;

Sur ces deux postes je vous joint les deux fichiers

Le premiers qui "Gestion de base de données"
et le deuxième qui 'Base de donnee"

J'ai apportées quelques petites modif, mais je dois avoir des erreures car j'ai des messages suivant ce que je faits ;

Si je veux supprimer un enregistrement :

Erreur d'execution '1004'
Le méthode select de la classe range a échouéé

Et la fonction "Rechercher " je n'arrive pas a la faire fonctionner


Merci a vous tous, G'Claire
 

Pièces jointes

  • GestionBasedeDonnees.zip
    31.4 KB · Affichages: 29
G

G'Claire

Guest
Rebonsoir

Je vous joints la "Base de données"

Merci et bonne nuit a toutes et tous, G'Claire
 

Pièces jointes

  • Basededonnees.zip
    21.3 KB · Affichages: 31
  • Basededonnees.zip
    21.3 KB · Affichages: 35
  • Basededonnees.zip
    21.3 KB · Affichages: 35
D

DJN90

Guest
Bonjour G'Claire

A l'ouverture du fichier Base de données, il ya un message erreur d'exécution sur ta macro ci-dessous.

Private Sub Workbook_Open()

With Worksheets("Données")
With .Range("A:A,D:D,E:E")
.HorizontalAlignment = xlCenter
.Range("A1").Select
End With
End With
End Sub

Je viens de constater qu'il faut enlever le point entre "With" et "Range". Ce qui donne

Private Sub Workbook_Open()

With Worksheets("Données")
With Range("A:A,D:D,E:E")
.HorizontalAlignment = xlCenter
.Range("A1").Select
End With
End With
End Sub

Dès changement l'ouverture du fichier ne génère plus ce code d'erreur.

Cela ne résouds probablement pas tout le problème mais c'est un premier pas.

Dan
 
G

G'Claire

Guest
Dan et tout XLD

Merci de ta réponse, c'est vrai je suis vraiment débutant et ne comprende pas tout, et je n'avais pas vu ce point.

A priori cela a régler les problèmes, mais je vais voir si tout est ok.

Merci encore, G'Claire
 
G

G'Claire

Guest
Re au forum

J'ai beau faire le tour, je n'arrive pas utiliser la fonction "Rechercher" cela me fait toujour une erreur.

Qu'es-ce qu'il pourrait y avoir qui empèche cetta utilisation?

Private Sub CmdChercherEnreg_Click()

If Rst.RecordCount = 0 Then Me.TotalEnreg = "": Exit Sub

'Si votre base de données possède un champ à valeur
'unique dans la base de donnée...C'est aussi bon
'même s'il n'est pas numérique.

Dim NB As Variant, T As Long, EnregDépart As Long

'Identifier l'enregistrement à rechercher
NB = Application.InputBox("Entrer le numéro d'enregistrement recherché.", _
"Rechercher", , , , , , 1)

'si l'usager choisi le bouton annulé de la boîte de dialogue...
If NB = "Faux" Then Exit Sub

EnregDépart = Rst.AbsolutePosition
'La connection supporte déjà l'ouverture d'un recordSet
'Elle ne peut pas en suppoter 2 simultanément
'Anéantir le premier Rst
Set Rst = Nothing

'Ouverture d'un second recordset approprié à la
'recherche de l'enregistrement sur champ désiré
Rst.Open "Select * from
Where Table.No= " & NB & " ;", _
Conn, adOpenKeyset, adLockOptimistic

'la mise à jour des contrôles doit se faire que si
'l'enregistrement a été trouvé...
If Rst.RecordCount = 1 Then
MiseAJourControles
Else
NB = EnregDépart
MsgBox "L'enregistrement demandé n'a pas été trouvé.", _
vbInformation + vbOKOnly, "Pas trouvé"
End If

'opération Revenir au premier RecordSet ouvert initial
Set Rst = Nothing
Rst.Open "Select * from
", Conn, adOpenKeyset, adLockOptimistic
Rst.Move NB - 1 'le recordset doit se rendre (positionner)sur le
'recordset affiché par la recherche afin que les boutons
'de déplacements retrouvent un fonctionnement adéquat.
End Sub


L'erreur serait sur

Rst.Open "Select * from
Where Table.No= " & NB & " ;", _
Conn, adOpenKeyset, adLockOptimistic


Es-ce que l'on pourrait me traduire un peu se que cela veut dire afin que je fasse la modif?
Merci beaucoup? G'Claire
 
D

DJN90

Guest
Claire,

J'ai effectivement trouvé le même problème en recherchant hier soir mais pas encore trouvé de soluces.
Je reprendrai ce fichier ce soir et espère trouver quelque chose.

Je te tiens au courant

Dan
 
D

DJN90

Guest
Bjr G'claire

J'ai essayé de trouver une solution à ce problème mais je tourne également un peu en rond.

Toutefois il ya quelque chose qui me semble érroné dans cette instruction :

Dim NB As Variant, T As Long, EnregDépart As Long

La variable T n'est pas retrouvée dans la suite de la macro. A quoi sert - elle ?

Dans l'instruction qui bloque à chaque reprise, (Rst.Open "Select * from
Where Table.No= " & NB & " ;", Conn, adOpenKeyset, adLockOptimistic), je me demande à quoi fait référence le mot "Table".

Je ne laisse pas tomber mais peut-être auras-tu une idée ou des informations complémentaires susceptible de débloquer la situation.


Dan
 
G

G'Claire

Guest
Salut au forum

Merci DJN 90

A vrai dire comme je l'ai dit au dessus c'est un fichier que j'ai repris et tente de réadapter pour mon besoin, alors d'abors j'ai essayer de comprendre (Un bien grand mot) ce qu'il contenait et ensuite je fais les modifs au plus simple pour moi (Car je débute et je galère un peu).

Mais en ce qui concerne le mot table es-ce qu'il renverai pas au fichier "base de donne" ou sont inscrit les données et si tu regarde dans
insertion->Nom->Definir il y a bien une liste table qui sont je pense les infos rentrés dans Gestion de base de données.

Merci encore a+, G'Claire
 
G

G'Claire

Guest
Re le forum

Il me semble que ce fichier je l'avais téléchargé sur XLD. Mais je ne le vois pas. Es-ce qu'il y a un moyen de le retrouver? Car j'ai peut-être supprimé une partie de fichier qui me réglerer peut etre mon histoire de recherche.
Il se prénommé Gestion de base de données.


Merci, G'Claire
 
G

G'Claire

Guest
Bonsoir au forum

Pour cette fonction rechercher,

Le débogage se fait sur

Rst.Open "Select * from
Where Table.No= " & NB & " ;", _
Conn, adOpenKeyset, adLockOptimistic

je suis presque sur qu'il me manque quelque chose car si j'ai compris, quand je clique sur ce boutons cela va chercher la table qui est dans le fichier "Base de donnée" feuille "Données" (Pour la feuille 2, je ne vois pas a quoi elle sert d'ailleurs)


Sur le code, je pense qu'il me manque quelque chose avant ça

'Ouverture d'un second recordset approprié à la
'recherche de l'enregistrement sur champ désiré
Rst.Open "Select * from
Where Table.No= " & NB & " ;", _
Conn, adOpenKeyset, adLockOptimistic

pour charger cette table(???)

Voici le code de cette fonction


Private Sub CmdChercherEnreg_Click()

If Rst.RecordCount = 0 Then Me.TotalEnreg = "": Exit Sub

'Si votre base de données possède un champ à valeur
'unique dans la base de donnée...C'est aussi bon
'même s'il n'est pas numérique.

Dim NB As Variant, T As Long, EnregDépart As Long

'Identifier l'enregistrement à rechercher
NB = Application.InputBox("Entrer le numéro d'enregistrement recherché.", _
"Rechercher", , , , , , 1)

'si l'usager choisi le bouton annulé de la boîte de dialogue...
If NB = "Faux" Then Exit Sub

EnregDépart = Rst.AbsolutePosition
'La connection supporte déjà l'ouverture d'un recordSet
'Elle ne peut pas en suppoter 2 simultanément
'Anéantir le premier Rst
Set Rst = Nothing

'Ouverture d'un second recordset approprié à la
'recherche de l'enregistrement sur champ désiré
Rst.Open "Select * from
Where Table.No= " & NB & " ;", _
Conn, adOpenKeyset, adLockOptimistic

'la mise à jour des contrôles doit se faire que si
'l'enregistrement a été trouvé...
If Rst.RecordCount = 1 Then
MiseAJourControles
Else
NB = EnregDépart
MsgBox "L'enregistrement demandé n'a pas été trouvé.", _
vbInformation + vbOKOnly, "Pas trouvé"
End If

'opération Revenir au premier RecordSet ouvert initial
Set Rst = Nothing
Rst.Open "Select * from
", Conn, adOpenKeyset, adLockOptimistic
Rst.Move NB - 1 'le recordset doit se rendre (positionner)sur le
'recordset affiché par la recherche afin que les boutons
'de déplacements retrouvent un fonctionnement adéquat.
End Sub

J'y est passé toute cette aprés midi et rien.

A+, G'Claire
 
G

G'Claire

Guest
Soir a tous

A quoi peu bien servir se truque

Private Sub TextBox4_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Critère de validation du testbox Date d'enregistrement


Me.TextBox4.SelStart = 0
Me.TextBox4.SelLength = Len(TextBox4)

End Sub


Private Sub TextBox4_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)

Dim Sep As String
Sep = Application.International(xlDecimalSeparator)
If KeyAscii = 44 Or KeyAscii = 46 Then
If InStr(1, TextBox4, Sep, vbTextCompare) = 0 Then
KeyAscii = Asc(Sep)
Else
KeyAscii = 0
End If
End If

End Sub

Car depuis que je l'ai supprimé j'arrive a faire mes recherches (En tout cas quelques essaies et cela a l'air de fonctionner).

Je vous joint les deux fichiers si vous avez un peu de temps pour y regardez .

Merci et bonne nuit, G'Claire
 

Pièces jointes

  • Gestiondossiersthales2.zip
    45.1 KB · Affichages: 27
D

DJN90

Guest
Bsr G'Claire,

Non je t'ai pas oublié et j'ai attrapé quelques cheveux blancs avec ce problème "last but not least" j'ai trouvé quelque chose et la macro semble passer lors de la recherche. Il faut modifier l'instruction bloquante comme suit :

Rst.Open "Select * FROM
Where No = " & NB & " ;", _
Conn, adOpenKeyset, adLockOptimistic

Maintenant tout passe mais il semble que le record ne soit pas trouvé.
Merci de vérifier.

A titre informatif, ta base de données semble venir de Access ou autre base de données.
Les instructions sont du language SQL qui permet de retrouver des informations dans une database.

Du dur mais espérant t'avoir aidé.

Dan
 
G

G'Claire

Guest
Salut a tous

Tout d'abord excuser moi de cette réponse tardive mais j'était sur la sonorisation et l'éclairage d'un spectacle depuis vendredi matin 4 heures et le week-end fut long.

Merci a tous ces réponses mais cela ne fonctionne pas. Je vais poster un nouveau post avec juste le fichier base de donnes et le Userform afin de voir si il y a quelque chose a faire de plus simple.

Merci encore de vous avoir attardé sur cette applique mais je pense que les modif sont plus complexes que si on repart a zéro, sachan que je n'ai plus le fichier d'origine.

G'Claire
 

Discussions similaires

Réponses
1
Affichages
345
Compte Supprimé 979
C

Statistiques des forums

Discussions
312 694
Messages
2 091 040
Membres
104 740
dernier inscrit
Skype