Modification d'un fichier

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

G'Claire

Guest
Salut a toutes et tous

Et oui, je sollicite encore vos services pour pouvoir modifier un fichier.

Je reprends un nouveau fil car l'ancien n'a guère d'intéret vu les explications peu explicite que j'ai pu donner afin de mener a bien ce projet.


J'ai pu récupérer le fichier d'une gestion de base de donnée. Merci a denis.

J'ai bien tenté une première fois de faire les modifications seul, mais en vain car le code est déjà bien trop haut et je ne sais pas trop comment les faire.


J'ai commencé a modifier les nom des chants :

J'ai mis a la place de :

Prénom -> Référence produit

Nom -> Désignation produit

Age -> casier (Sachant que pour le moment on ne peu mettre que des
chifres et mes dossiers se composent de lettres et des chifrfres ex:
D4)

Sexe -> date d'enregistrement (qui serait automatique au moment de
l'enregistrement, sachant que pour le moment on ne peut que mettre un
"F" ou un "M".

En fait j'aimerai ajouter au moment de la saisie d'un nouvelle
enregistrement la date du jour de l'enregistrement.

Ensuite que la recherche se face par une référence et non pas par un
numéro d'enregistrement.

je suis entrain de faire une feuille modèle afin de pouvoir créer une en-tête de dossier qui serait imprimable lors de l'enregistrement d'un nouveau dossier.


D'avance merci en espérant avoir été claire.

G'Claire
 

Pièces jointes

  • Gestiondossier.zip
    43.4 KB · Affichages: 24
E

eric

Guest
Salut,

Pour la date du jour, jai la soluce, mais pour le reste, c'est trop balaize pour moi :

Private Sub CmdNouveauEnreg_Click()

'Effacer la valeur des contrôles
'Afin d'ajouter un nouvel enregistrement
Me.EnregActuel = ""
Me.TextBox1 = ""
Me.TextBox2 = ""
Me.TextBox4 = ""
Me.TextBox8 = ""
Me.TextBox9 = Now() ' Voilà la ligne à ajouter à ton code vba


Bonne journée
 
G

G'Claire

Guest
Salut Eric et le forum

Merci de ta réponse

J'ai fait la modification, et je pense qu'il fallait peut etre la faire a d'autres endroits, ce que j'ai fait.

Mais cela me donne des erreurs.

Je joints les deux fichiers modifié, pour voir le résultats.

Merci et bon appétit, G'Claire
 

Pièces jointes

  • GestiondossierV1.1.zip
    41.7 KB · Affichages: 23
G

G'Claire

Guest
Salut a toutes et tous

Voici l'erreur que j'obtien en cliquant sur gestion base de données, aprées avoir fait les modification pour avoir la date du kour au moment de l'entrée d'un nouveau dossier.

Erreur d'execution '3265'

ADO n'a pas trouvé l'objet dans la collection correspondant au nom ou a la référence ordinale demandée par l'application.

Et le debogage donne l'erreur sur ce code

Sub MiseAJourControles()
'Procédure appelé à divers moment pour fin de mise à jour
'des contrôles Textbox du formulaire et du label EnregActuel.
Me.EnregActuel = Rst(0).Value
Me.TextBox1 = Rst(1).Value
Me.TextBox2 = Rst(2).Value
Me.TextBox4 = Rst(3).Value
Me.TextBox8 = Rst(4).Value
Me.TextBox9 = Rst(5).Value

End Sub

L'erreur affichée est sur

Me.TextBox9 = Rst(5).Value


Ensuite pour le remplissage casier (qui était "sexe" dans le USF) avec le choix M ou F) j'ai tout enlevé dans le partie Private sub TextBox8

A l'origine il y avait cela

Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
'Critère de validation du testbox SEXE

If UCase(Me.TextBox8) <> "M" And UCase(Me.TextBox8) <> "F" Then
Cancel = True
MsgBox "Seules les lettres ""M"" et ""F"" sont acceptables." _
, vbInformation + vbOKOnly, "Votre âge"
Me.TextBox8.SelStart = 0
Me.TextBox8.SelLength = Len(Me.TextBox8)
Else
Me.TextBox8 = UCase(TextBox8)
End If

End Sub



Maintenant:

Private Sub TextBox8_change()
'Critère de validation du testbox SEXE=>Casier

End Sub

Ai-je fait une bétise??

Merci G'Claire.
 
@

@+Thierry

Guest
Bonsoir G'claire et Eric

As-tu fais comme je t'a conseillé Lien supprimé

Car comme te dis sympathyquement Eric, "c'est du balaize" ce fichier. Au regards de ce que j'ai pu voir de tes connaissances débutantes, tu vas y passer des nuits blanches... Il vaudrait mieux que tu essaie de démarrer par quelque chose de plus simple.

Essaie de contacter l'auteur, Denis Michon, depuis le temps qu'il est sur les forums Microsoft, il est peut-être même MVP... Il est super sympa, si tu arrives à "accrocher".

Car ce que tu demandes, même à des gens comme moi, c'est de rentrer dans quelque chose que je n'ai pas écrit pour le modifier. C'est ce qu'il y a de pire ! (Au bas mot celà représente 4 à 5 heures rien que pour faire les changements que tu annonces en post 1, et te connaissant... ce ne sera pas les seuls changements...)

Tu peux trouver Denis Michon sur le MPFE (par Google)
<http://groups.google.com/groups?hl=en&group=microsoft.public.fr.excel>

Lis au préalable la Netiquette du MPFE sur <http://dj.joss.free.fr/netiquet.htm>

(A tous lisez le début pour les fichiers joint... et savourez votre chance sur XLD !!!)

Bonne chance
@+Thierry


PS G'claire, surtout ne fais pas de post avec sujet nomminatif là bas
 
G

G'Claire

Guest
Thierry

Merci de ta réponse, a propos de la librairie que tu parlé je pense l'avoir car le fichier d'origine fonctionne trés bien et de plus je ne sais pas trop ou le chercher.

C'est vrai que sur mon histoire de ballet, j'en ai peu être demandé beaucoup, mais vu que ce spectacle est pour début juin et même en me plongeant a fond dans les bouquins pour me perfectionner en macro, je n'y serai pas arrivé a temps, j'était plus pris par le temps que de mauvaise volonté de faire.

Pour ce qui concerne ce fichier les modifications de celui-ci s'arrèterons a ce que j'ai dit car il est super bien fait.

Merci pour tes renseignements, G'Claire
 
G

G'Claire

Guest
Salut a tous


J'ai laissé un message sur MPFE.
En attendant une réponse, j"essaye d'avancer.

Ma première erreur je ne l'ai plus, j'avais oublié dans le dossier "base de donne" de rajouter la colonne en plus dans la "table" de la feuille données.

Maintenant j'ai une autre erreur a priori semblable.

Dim N As Variant, A As Integer

For Each N In Array("No", "Référenceproduit", "Désignationproduit", "Enregistrépar", "Casier", "Date", "Table")
Set Rst = Nothing
A = A + 1
If A <> 6 Then
Rst.Open "Select * from [" & N & "]", Conn, adOpenKeyset, adLockOptimistic
Me.TotalEnreg = Rst.RecordCount + 1
Rst.AddNew 'Cette section permet de mettre à jour la plage nommée(adressage)
Rst.Update 'pour chacun des champs. C'est essentiel pour être capable
'd'effectuer des recherches d'enregistrements sur ces plages.
Else
Rst.Open "Select * from [" & N & "]", Conn, adOpenKeyset, adLockOptimistic
'La mise à jour des champs dans la "Table" du fichier "Base de données.xls"
'se fait seulement lors de la dernière boucle
Rst.AddNew
Rst(0).Value = CLng(Rst.RecordCount + 1)
Rst(1).Value = Me.TextBox1
Rst(2).Value = Me.TextBox2
Rst(3).Value = CDbl(Me.TextBox4)
Rst(4).Value = Me.TextBox8
Rst(5).Value = Me.TextBox9
Rst.Update
End If
Next

Au niveau de

Rst(1).Value = Me.TextBox1

Je continue a chercher;

Merci, G'Claire
 

Pièces jointes

  • GestiondossiersV01.3.zip
    47.3 KB · Affichages: 38

Discussions similaires

Réponses
15
Affichages
988

Statistiques des forums

Discussions
314 653
Messages
2 111 589
Membres
111 208
dernier inscrit
estalavista