XL 2010 Création d'une base de donnée

thunder23

XLDnaute Occasionnel
Bonjour le forum,

Je souhaiterais créer une base de donnée sur le planning de travail que je suis en train de faire car je souhaite centraliser le tout au lieu d'enregistrer chaque année un fichier toutefois, je ne sais pas comment procéder sans passer par un UserForm.
J'ai mis en pièce jointe un exemple.

Merci d'avance pour votre aide :)
 

Pièces jointes

  • Testbdd.xlsm
    35.4 KB · Affichages: 16

GALOUGALOU

XLDnaute Accro
bonjour thunder 23 bonjour le forum
j'ai du mal à saisir le résultat que vous souhaitez avoir.
quelles sont les données que vous souhaitez centraliser ?
le tableau final doit il être actualisé avec le mois séléctionné dans la feuille planning, ou les données doivent elles être archivées ?
auriez vous l'obligeance de poster un classeur avec le résultat escompté svp.
cordialement
galougalou
 

thunder23

XLDnaute Occasionnel
bonjour thunder 23 bonjour le forum
j'ai du mal à saisir le résultat que vous souhaitez avoir.
quelles sont les données que vous souhaitez centraliser ?
le tableau final doit il être actualisé avec le mois séléctionné dans la feuille planning, ou les données doivent elles être archivées ?
auriez vous l'obligeance de poster un classeur avec le résultat escompté svp.
cordialement
galougalou

Bonjour GALOUGALOU,

je veux archivé et actualisé les données en fonction du mois sélectionné, ces données sont surlignées en jaune dans le fichier que j'ai joint. J'espère avoir mieux expliquer mes attentes, ce n'est pas facile parfois de retranscrire ce que l'on souhaite réellement ;)

cordialement
 

Pièces jointes

  • Testbdd.xlsm
    35.9 KB · Affichages: 12

laurent3372

XLDnaute Impliqué
Supporter XLD
J'ai codé ceci (voir PJ) avant de recevoir ton exemple. Tu peux t'en inspirer.
VB:
Private Sub btnRemplirBdd_Click()
    Dim rngJour As Range        'Cellule Date de chaque colonne
    Dim rngBdd As Range         'Cellule de destination dans la feuille Bdd
    Dim rngPremierJourSérie As Range    'Première cellule de la série
    Dim nbJoursMois As Integer  'Nombre de jours dans le mois
    
    nbJoursMois = Day(DateSerial(Year([c5]), Month([c5]) + 1, 1) - 1)   'Calcul nb jours dans le mois
    Set rngBdd = Bdd.Cells(Rows.Count, "A").End(xlUp).Offset(1, 0)  'Position de la première cellule libre
    Set rngPremierJourSérie = [b15]
    For Each rngJour In [b15].Resize(1, nbJoursMois)             ' Boucle sur le jour
        If rngJour.Offset(2, 0).Value <> rngJour.Offset(2, 1).Value Then 'Si on est en fin de série de codes identiques
            'Remplissage de la ligne de la Bdd
            rngBdd.Value = rngJour.Offset(2, 0)                       'Code
            rngBdd.Offset(0, 1).Value = rngPremierJourSérie.Value     'Date de début
            rngBdd.Offset(0, 2).Value = rngJour.Value                 'Date de fin
            rngBdd.Offset(0, 3).Value = rngJour.Offset(3, 0).Value    'Congé(s)
            rngBdd.Offset(0, 4).Value = rngJour.Offset(4, 0)          'Accord congé
            rngBdd.Offset(0, 5).Value = rngJour.Offset(5, 0)          'Réunion sécurité
            rngBdd.Offset(0, 6).Value = rngJour.Offset(6, 0)          'Heures sup
            Set rngBdd = rngBdd.Offset(1, 0)                            'On passe à la ligne suivante de la Bdd
            Set rngPremierJourSérie = rngJour.Offset(0, 1)              ' On met à jour la variable
            End If
    Next rngJour
End Sub
 

Pièces jointes

  • Testbdd (1).xlsm
    41.9 KB · Affichages: 15

GALOUGALOU

XLDnaute Accro
bonjour thunder23
un début de réponse conformément a votre problématique d'une sauvegarde.
dans la feuille Bdd la macro ventile les informations et effectue un tri du plus récent au plus ancien
il sera totalement possible d'effacer par macro les données pour les dates obsolètes.
sur la feuille Planning en ligne 14 une formule calcule les cellules avec données. la macro récupére uniquement les colonnes qui sont concernées par des valeurs

particularité
je n'ai pas su regrouper par tranche de date, dite moi si cela vous semble nécessaire.
par tranche de date je pense qu'il vaudrait mieux remplir une base de donnée, et par formule remplir le tableau
je continu à réflèchir sur votre classeur et je vous fais un autre post dès que possible
cordialement galougalou
 

Pièces jointes

  • Copie de Testbdd.V2.xlsm
    47.5 KB · Affichages: 8

GALOUGALOU

XLDnaute Accro
bonjour thunder 23 bonjour le forum
je vous propose de tester ce classeur qui est une ébauche d'une solution différente, qui demande a être peaufiné.
le calendrier s'actualise quelle que soit la date du 1er jour.
cordialement
galougalou
 

Pièces jointes

  • Testbdd v4.xlsm
    68.2 KB · Affichages: 12

GALOUGALOU

XLDnaute Accro
bonjour thunder23
précision le classeur est brut de décoffrage. j'ai pris l'initiative d'une conception différente de la votre.
je ne savais pas si cette solution pouvais vous convenir, mais si tel est le cas, il faudrait maintenant le configurer à vos besoins.
cordialement galougalou
 

thunder23

XLDnaute Occasionnel
bonjour thunder23
précision le classeur est brut de décoffrage. j'ai pris l'initiative d'une conception différente de la votre.
je ne savais pas si cette solution pouvais vous convenir, mais si tel est le cas, il faudrait maintenant le configurer à vos besoins.
cordialement galougalou

Bonjour GALOUGALOU,

Avec un peu de retard j'ai regardé votre fichier et essayé de comprendre son fonctionnement toutefois je colle sur certaines choses. J'ai remarqué la boite de dialogue que vous avez ajouté et essayé de faire un test sauf que ça n'apparait pas dans le tableau. Pour les dates du tableau je préfèrerais plus le côté mensuel que semaine si possible mais le côté Numéro de semaine 0 j'aime particulièrement bien.
Pour information j'ai un fichier que j'avais créer il y a quelques mois sauf que je n'y ai pas intégré de base de donnée dessus, est-ce que vous voulez afin de voir si il est possible de l'intégrer dessus?
encore merci
cordialement thunder23
 

Discussions similaires

Statistiques des forums

Discussions
311 713
Messages
2 081 808
Membres
101 819
dernier inscrit
lukumubarth