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

Salut

Dans le code, on veut convertir une valeur vide/null en valeur CDbl (de type double)
donc BUG, pour y remédier
Code:
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
         On Error Resume Next ' En cas d'erreur on continue
        .Cells(LigneDeTransfert, CompteurDeColonne) = CDbl(Me.Controls("TextBox" & CompteurDeColonne))
        On Error GoTo 0 ' Remet la gesion d'erreur normalement
      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

A+
 

Discussions similaires

Réponses
1
Affichages
130

Statistiques des forums

Discussions
312 452
Messages
2 088 541
Membres
103 879
dernier inscrit
JJB2