Besoin d'aide

Reptiles04

XLDnaute Nouveau
Bonjour à tous,

Comme je l'ai dit dans ma présentation, je doit réaliser un programme avec Excel. Je commence à bien maitriser excel à force de pratique mais je dois dans ce cas utiliser des outils dont je ne me suis jamais servi ...

Pour que vous compreniez ce que je veut réaliser, je vais vous décrire mon problème. Je dois créer un petit programme de gestion de cout de production en élevage laitier. En gros, ce sont 450 producteurs qui doivent pourvoir utiliser le programme pour comparer leurs couts de production.

J'ai donc crée pour commencer deux bases de données, l'une est le fichier regroupant tous les utilisateurs et l'autre références toutes des données de chaque agriculteur.

Le programme doit etre facile d'utilisation pour les agriculteurs et ergonomique. Je souhaite donc réaliser un formulaire à remplir par les producteurs qui agrandira la base de données.

C'est là que je commence à bloquer (déjà ...). Je n'arrive pas à trouver dans excel l'outil pour créer un formulaire qui mettra à jour la base de donnée ...
Par exemple pour la base d'utilisateurs (avec n° adhérent, nom, adresse, ...), j'aimerai faire un lien ([bouton nouvel utilisateur de mon menu]) qui m'ouvre un nouveau formulaire avec un nouveau numéro d'adhérent (incrément de +1) pour que l'agriculteur s'enregistre lui meme.

J'aimerai savoir si il est possible de réaliser celà et comment le faire si possible.
J'espère que j'ai été clair.

Merci
Thibaut
 
C

Compte Supprimé 979

Guest
Re : Besoin d'aide

Bonsoir Reptiles04,

Le formulaire que tu veux créer s'appelle un UserForm ou USF (pour les intimes ;))
Ce USF se crée dans l'éditeur de projet VBA (ALT+F11)

Effectue des recherches sur ce forum via google, tu trouveras tout ce qu'il te faut ;)
Ce lien n'existe plus

A+
 

Reptiles04

XLDnaute Nouveau
Re : Besoin d'aide

Merci, je vais chercher comment faire !

Sinon, voilà les données. J'ai deux formulaire à faire pour remplir chaque base de donnée (adhérents et charges).
J'ai mis une ligne dans charges, les données sont bidons mais c'est le principe.
Ensuite je croiserai ces données pour en tirer des informations.
 

Pièces jointes

  • Projet info.xlsx
    15 KB · Affichages: 61

Reptiles04

XLDnaute Nouveau
Re : Besoin d'aide

J'ai regardé, c'est parfaitement ce que je souhaitez réaliser !

Merci beaucoup Banzai64 et Jean-Marcel pour votre aide !

Je vais mieux étudier les userform et mettre vos deux travaux dans le meme fichier pour arranger celà à mon gout.
J'aurrais surement d'autres questions.
Je vous met en ligne mon travail ce soir pour voir si tout va bien.

Merci
Thibaut
 

Reptiles04

XLDnaute Nouveau
Re : Besoin d'aide

Bonjour,

Alors voilà, j'ai de nouveau un problème ...
Meme après avoir lu beaucoup du tutos sur les userform, je ne maitrise pas encore du tout :(

J'aimerai savoir quelle est la partie de code VBA qui permet de créer le nouvel enregistrement sur une nouvelle ligne à chaque fois ?
Deuxième question. Quand vous m'avez réalisé les userform, avez vous tout tapé les codes de programations ou vous avez juste procédés par des clics ?

J'ai compris le fonctionnement de base mais mon fichier personnel m'est encore assez incompréhensible ...

Sinon, après m'etre battu avec mon micro, je ne suis pas arrivé à faire correspondre la macro du classeur "projet info" avec l'autre classeur.

J'ai commencé à modifier "élevage laitier V0001", j'aimerai en fait que l'userform USFAdhérents se trouve dans ce classeur. Toutes mes données doivent se trouver dans "élevage laitier V0001".

Dernière petite chose, j'ai modifier dans l'onglet adhérent la colonne UGB, en fait c'est une erreur de ma part, cette colonne doit etre modifiable par l'agriculteur et c'est la nouvelle colonne "Chargement" qui la remplace. J'ai ajouté les zones de textes dans VBE mais je n'arrive pas a modifer le reste pour que sa corresponde, le fichier étant assez obscur pour moi ...

Je vous remet en lien les deux fichiers.

Si vous pouvez m'aider à les modifier sa serai bien, sinon, je comprends que je vous fait perdre un peu votre temps, expliquez moi comment faire ;)

Merci
Thibaut
 

Pièces jointes

  • Elevage laitier V001.xlsm
    44.5 KB · Affichages: 47
  • Projet info.xlsm
    37 KB · Affichages: 52

Reptiles04

XLDnaute Nouveau
Re : Besoin d'aide

Merci pour la modification UGB et chargement ! C'est ce qu'il fallait ;)

Jean-Marcel est en train de m'aider pour mettre l'USF qu'il à crée (Gestion des adhérents) dans le fichier "Elevage laitier", car tout doit etre dans le meme classeur. En effet je vais ensuite réaliser des TCDs entre les bases de données "adhérents" et "données" ;)
 

Banzai64

XLDnaute Accro
Re : Besoin d'aide

Bonsoir
Vaste question
En gros c'est utiliser une macro à la place de beaucoup d'autre

Dans l'userform je voulais que si il y a une modification sur un textbox, que le calcul du total (label rouge) s'actualise immédiatement

J'aurais pu mettre un code identique dans tous les textbox (29) concernés à peu-près le même code pour actualiser le textbox correspondant (ce que j'ai fait pour le textbox10 et pour le Textbox12)

En passant par un module de classe on réduit cette duplication de code en créant juste une macro qui va intercepter le changement dans ces textbox

Si tu veux plus de renseignements je te conseille (des aspirines) et de consuler les différentes discussions sur ce forum au sujet des modules de classe

Bonne nuit
 

Reptiles04

XLDnaute Nouveau
Re : Besoin d'aide

Bonsoir,

Sa y est je commence a mieux comprendre le VBA :D
Merci vous m'avez bien aidé !

J'ai un problème. Je modifie l'userform "USFAdhésion", mais pas possible de déverrouiller la textbox UGB "TxtUGB" ... J'ai bien chercher mais je n'ai pas trouvé la ligne qui la verrouille ? Savez-vous d'où sa peut venir ?

J'ai aussi rajouté un TxtBox "ValCharg" qui est égal à "TxtUGB/TxtSurfaceElevage". Mon code est-il correct ?
En fait j'avais fait une erreur, et UGB doit etre une valeur libre.
Mais "chargement" doit etre verrouillée.

'Verouiller Chargement

Private Sub ValCharg_GotFocus()
Me.ValCharg.Locked = Not Me.NewRecord
End Sub

'Calculer Chargement

Private Sub ValCharg_change()
Me.ValCharg = (Me.TxtUGB) / (Me.TxtSurfaceElevage)
End Sub

Edit : Je n'arrive plus a envoyer mon fichier, il est trop lourd ??? Comment faire ?

Merci
Thib
 

Reptiles04

XLDnaute Nouveau
Re : Besoin d'aide

Merci, sa marche !

J'ai un bug que je n'arrive pas a résoudre dans mon formulaire de gestion.
En gros quand une textbox n'est pas remplie, la copie dans la base de données se stoppe et j'ai un message d'erreur.
Dans le debogeur, voilà ce qui est affiché :

Private Sub CmbModifier_Click()
Dim LigneDeTransfert As Integer
With Sheets("Données 2010")
On Error Resume Next
LigneDeTransfert = 0
LigneDeTransfert = Application.WorksheetFunction _
.Match(CInt(ComboAdhérent), Worksheets("Données 2010").Range("A1:A10000"), 0)
On Error GoTo 0
If LigneDeTransfert = 0 Then
LigneDeTransfert = .Range("A65536").End(xlUp).Row + 1
End If

.Cells(LigneDeTransfert, 1) = CInt(Me.ComboAdhérent)
For CompteurDeColonne = 2 To 35
If CompteurDeColonne <> 8 And CompteurDeColonne <> 15 And CompteurDeColonne <> 21 _
And CompteurDeColonne <> 28 And CompteurDeColonne <> 33 Then
.Cells(LigneDeTransfert, CompteurDeColonne) = CDbl(Me.Controls("TextBox" & CompteurDeColonne)) End If
Next
.Cells(LigneDeTransfert, 8) = Me.Label108.Caption
.Cells(LigneDeTransfert, 15) = Me.Label308.Caption
.Cells(LigneDeTransfert, 21) = Me.Label408.Caption
.Cells(LigneDeTransfert, 28) = Me.Label508.Caption
.Cells(LigneDeTransfert, 33) = Me.Label608.Caption
.Cells(LigneDeTransfert, 36) = Me.Label708.Caption
End With
Unload Me
End Sub

Pourquoi me signale-t-il un bug à cet endroit ?

Avez vous une solution pour résoudre ce problème ? J'aimerai faire correspondre "vide" avec la valeur 0.

Merci
Thibaut
 

Discussions similaires

Réponses
1
Affichages
111

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote