Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Créer un tableau lié à une base de donnée

GuillaumA

XLDnaute Occasionnel
Bonjour le forum,

Actuellement sur un projet de tableau évolutif, je souhaite le rattacher à une base de donnée.

Actuellement, j'ai un tableau avec des données remplis à la main.

Ce dernier doit pouvoir, lors d'un click sur un bouton, envoyer les données dans une Base de donnée.
Ce tableau est mensuel et une liste déroulante doit permettre de choisir le mois de ce tableau.
Pour chaque mois les données rentrées sont envoyées au bon endroit dans la base de donnée.
J'ai un début de macro, mais je n'arrive pas à l'améliorer.

De plus, lorsque l'utilisateur choisira son mois, alors les données déjà intégrées dans la base de données par le passé, devront réapparaître dans les cases correspondantes.

Je joint un fichier avec mon problème et la macro que j'ai débuté

Merci, encore une fois, pour votre support et aide et j'espère un jour être capable de vous rendre la pareille.


Guillaume
 

Pièces jointes

  • MyProblem.xls
    33 KB · Affichages: 124
  • MyProblem.xls
    33 KB · Affichages: 133
  • MyProblem.xls
    33 KB · Affichages: 133
Dernière édition:

GuillaumA

XLDnaute Occasionnel
Re : Créer un tableau lié à une base de donnée

Transpose tout les mois à la suite dans la BDD.

2 problème:
- Je ne sais pas retrouver les valeurs en fonction du mois

- Si je fait des modification, ce sera toujours à la suite et cela ne remplacera pas

Nouveau fichier:
 

Pièces jointes

  • MyCase.xls
    23 KB · Affichages: 92
  • MyCase.xls
    23 KB · Affichages: 99
  • MyCase.xls
    23 KB · Affichages: 97

Efgé

XLDnaute Barbatruc
Re : Créer un tableau lié à une base de donnée

Bonjour Guillaume,
J'ai ouvert ton exemple et je ne pense pas pouvoir t'aider, mais j'ai juste une remarque à formuler:
Ne prend tu pas le problème à l'envers? Il serait surement préférable d'alimenter une base de donnée bien construite, sans cellules fusionnée, avec tous les champs remplis etc... et ensuite créer un tableau qui présenterai les données. Cela correspondrai plus à la "logique" d'excel :
Une feuille pour les données, une feuille pour les calculs, une feuille de présentation.
C'était juste une remarque en passant.
Bon courage
Cordialement
 

GuillaumA

XLDnaute Occasionnel
Re : Créer un tableau lié à une base de donnée

Bonjour, oui Efgé je suis complétement d'accord avec toi!
Malheureusement, dans mon cas, je dois me plier à la volonté de mes "commanditaires".
Il n'y a pas de feuille d'intégration séparée d'une feuille de reporting mais les deux réunis.
C'est une condition élémentaire =)

Par ailleurs, j'ai trouvé comment faire remonter l'infos dans le tableau:
Code:
Sub RetrouverLesDonnees()
Dim Janv As Range
Dim Fev As Range
Dim Mar As Range
Dim Tablo As Worksheet

Set Janv = Worksheets("Database").Range("A2:G8")
Set Fev = Worksheets("Database").Range("A9:G15")
Set Mar = Worksheets("Database").Range("A16:G22")
Set Tablo = Worksheets("Tableau")

If Worksheets("Tableau").[B5].Value = "Janvier" Then
Janv.Copy
Tablo.Cells(9, 3).PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
End If

If Worksheets("Tableau").[B5].Value = "Février" Then
Fev.Copy
Tablo.Cells(9, 3).PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
End If

If Worksheets("Tableau").[B5].Value = "Mars" Then
Mar.Copy
Tablo.Cells(9, 3).PasteSpecial Paste:=xlPasteValues, Transpose:=True
Application.CutCopyMode = False
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
If Target =[COLOR="Red"] [B5][/COLOR] Then Call Feuil1.RetrouverLesDonnees

End Sub

J'ai une erreur ici, surement de formulation. Mais alors je ne vois pas du tout comment le faire marcher...

A noter que ma méthode est un peu barbare et lourde (Zone de sélection mois par mois) et je suis ouvert à toute modification pour le simplifier

Ci-joint un fichier updaté:
 

Pièces jointes

  • MyProblem.xls
    37 KB · Affichages: 83
  • MyProblem.xls
    37 KB · Affichages: 81
  • MyProblem.xls
    37 KB · Affichages: 79

GuillaumA

XLDnaute Occasionnel
Re : Créer un tableau lié à une base de donnée

J'ai trouvé!!!

Code:
If Target.Address = "$B$5" Then Call Feuil1.RetrouverLesDonnees

Mon dernier problème est que lorsque je reouvre un ancien mois et fait une modification.. Cette dernière se met à la suite et ne remplace pas la zone assigné au mois.

Et alors là..; C'est au dessus de mes maigres compétences.

A l'aide !
 

Pièces jointes

  • MyProblem.xls
    40.5 KB · Affichages: 137
  • MyProblem.xls
    40.5 KB · Affichages: 138
  • MyProblem.xls
    40.5 KB · Affichages: 139
Dernière édition:

GuillaumA

XLDnaute Occasionnel
Re : Créer un tableau lié à une base de donnée

Bonjour,

Voici un code qui marche parfaitement.

Voir fichier joint


J'ai juste un petit soucis à propos d'une formule:
Quel est la formule afin de faire une liste avec les 12 mois ?
En effet ma cellule d'activation est une liste déroulante des 12 mois mais j'ai écrit manuellement Janvier, Février , etc. Je voudrais que ce soit excel qui me mette les noms des mois par formule car cette liste varie en fonction des pays.

En gros cette liste pourra être January, Febuary, etc... en anglais
La même en espagnol, etc... et seul les formule sont traduit automatiquement dans la langue de l'excel utilisé.

Merci de votre considération.

Cordialement,
Guillaume.
 

Pièces jointes

  • TableauLieAuneBDD.zip
    15.4 KB · Affichages: 92
Dernière édition:

Discussions similaires

Réponses
27
Affichages
1 K
Réponses
3
Affichages
332
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…