Données sur page principal en fonction de la date du jour

Bonjour à tous

Je cherche un moyen pour afficher des données de la veille sur ma page d'accueil.

Je dois aller chercher ces données dans différents onglet.

Exemple :

Une fenêtre qui affiche la quantité de matière en kg qui est rentré la veille (onglet "In").

20test.xlsm (306.46 Ko)

Y a t-il un moyen qu'à l'ouverture du fichier un user form s'ouvre automatiquement et affiche des données (que je vais paramétrer dans l'user form) de la veille.

J'espère avoir été assez clair...

Merci d'avance pour votre aide (j'ai joins mon fichier en exemple).

Bonjour Mimi, bonjour le forum,

Pour moi pas assez clair du tout. Quel Usersorm ? Les données se trouvent dans quels onglets ?

Coucou Thau Theme

Dsl je vais essayer d'être plus clair.

Quand on ouvre le fichier je veux que sur l'onglet prog une fenêtre s'affiche.

Sur cette fenêtre je veux faire afficher automatique la production de la veille (j-1) :

Entrées matière (onglet IN) du 13/07 :

10a = 650

10b = 800

Sortie matière (onglet IN) du 13/07 :

10a = 650

10b = 800

Production sur le module 1.1 (onglet M11) : (je souhaite afficher les données que je veux des colonnes de la ligne 2 et toujours en j-1).

Comme cela mon patron à une visu de la production de la veille dès qu'il ouvre le fichier. Il n'a pas besoin d'ouvrir chaque onglet...

J'espère que c'est mieux expliqué.....

Salut Thau Thème

Sans utiliser d'user form sinon cela peut être dans les cellules excel sur la première page (exemple zone à droite ou zone en dessous des boutons) qu'en penses tu?

Re,

Je vais regarder ça mais certainement qu'en fin d'après-midi car pas le temps en ce moment...

Ok thau thème

Pas de soucis... ce n'est pas à la minute

A mon avis il faudra faire des recherches V ou autres à voir....

Bonsoir Mimi, bonsoir le forum,

Afficher les données de la veille des onglets In et Out pouvait se faire sans UserFom supplémentaire. En revanche, pour afficher les données que tu veux de l'onglet M11 il m'a bien fallu passer par une Userform qui demande quelle colonne à afficher !...

Le nouveau code se trouve répartit dans le Module1 (déclaration des variable publiques MSG et COL), dans L'UserForm1 et dans la procédure Workbook_Open du composant ThisWorkbook.

Le fichier :

16mimi-v01.xlsm (261.77 Ko)

Salut Thau Thème

Merci pour ton temps passé!! c'est pas un code de rigolo....

Et sais tu si il serait possible de faire cela dans des cellules uniquement? et non par un user form?

Exemple :

Entrée matière de la veille (avec la formule j-1)

Et faire une recherche v en disant de m'afficher l'entrée matière du 1307 de la référence 10a de l'onglet in?

Re,

Désolé mais, comme ma signature l'indique, je n'aime pas les formules et du coup je suis nul...

Ce que tu m'as montré c'est top (je le stock dans mes fichiers car cela va m'être utile pour autre chose).

Mais j'essaie de trouver une solution afin d’afficher certains éléments de la prod de la veille comme cela mon patron à direct les infos sur son iphone lors de l'ouverture (pas besoin de ce balader sur tous les onglets). Tu as peut être une idée?


Ah oui ta signature

L'iphone voit les boutons de commande de mon onglet prog. Si ca se trouve il pourrait voir une fenêtre VBA qui affiche les données de la veille (mais sans afficher de menu déroulant à moi de choisir uniquement des infos simple à la base comme du as fais pour le 10a et 10b).

Re,

Si tu veux afficher seulement In et Out (par VBA), tu n'auras pas besoin de l'userform... Idem si tu veux une colonne fixe de l'onglet M11... Je peux te recoder ça vite fait...

Re

Oui j'ai d'autre infos sur d'autres onglets mais après je me débrouillera avec ton exemple. En tout Je vais avoir 2 ou 3 info pas onglet (6 onglets environ) que je veux afficher sur la première page en visualisation.

Merci beaucoup ThauThème

Re,

Voilà le code d'ouverture du fichier pour le In et le Out.

Si tu veux rajouter des onglets il te faudra ajouter une variable pour l'onglet, une variable pour le tableau de l'onglet et une variable pour la date de l'onglet, définir ces variables, modifier le message et rajouter une boucle comme dans le code ci-dessous. ou alors utiliser le même principe sur une boucle sur plusieurs onglets...

Le code :

Private Sub Workbook_Open()
Dim I As Worksheet 'déclare la variable I (onglet In)
Dim O As Worksheet 'déclare la variable O (onglet Out)
Dim TVI As Variant 'déclare la variable TVI (Tableau des Valeurs de l'onglet In)
Dim TVO As Variant 'déclare la variable TVO (Tableau des Valeurs de l'onglet Out)
Dim DJ As Long 'déclare la variable DJ (Date du Jour)
Dim DV As Long 'déclare la variable DV (Date de la Veille)
Dim DTI As Long 'déclare la variable DTI (Date du Tableau In)
Dim DTO As Long 'déclare la variable DTO (Date du Tableau Out)
Dim X As Integer 'déclare la variable X (incrément)

Application.WindowState = xlMaximized  'fenêtre Excel
Windows(ThisWorkbook.Name).WindowState = xlMaximized  'fenêtre du classeur
Call RepositionneBoutonsActiveX
Sheets("Prog").Activate

Set I = Worksheets("In") 'définit l'onglet I
Set O = Worksheets("Out") 'définit l'onglet O
TVI = I.Range("A4").CurrentRegion 'définit le tableau des valeur TVI
TVO = O.Range("A4").CurrentRegion 'définit le tableau des valeur TVO
DJ = DateSerial(Year(Date), Month(Date), Day(Date)) 'définit la date du jour DJ (en entier long)
DV = DJ - 1 'définit la date du jour de la veille DV
'initialise le message MSG (variable déclarée publique dans le module [Module1])
MSG = "Au " & Format(DV, "dd/mm/yyyy") & " : " & Chr(13)
MSG = MSG & Chr(13) & "Entrées matière : " & Chr(13) ''redéfinit le message MSG  (ajoute la partie "Entrées matière")
For X = 1 To UBound(TVI, 1) 'boucle sur toutes les lignes X du tableau des valeurs TVI
    DTI = DateSerial(Year(TVI(X, 1)), Month(TVI(X, 1)), Day(TVI(X, 1))) 'définit la date DTI
    'si DTI=DV, redéfinit le message MSG avec les valeurs 10a et 10b de l'onglet In et sort de la boucle
    If DTI = DV Then MSG = MSG & "10a = " & TVI(X, 3) & Chr(13) & "10b = " & TVI(X, 4) & Chr(13): Exit For
Next X 'prochaine ligne de la boucle
MSG = MSG & Chr(13) & "Sorties matière : " & Chr(13) 'redéfinit le message MSG (ajoute la partie "Sortie matière")
For X = 1 To UBound(TVO, 1) 'boucle sur toutes les lignes X du tableau des valeurs TVI
    DTO = DateSerial(Year(TVO(X, 1)), Month(TVO(X, 1)), Day(TVO(X, 1))) 'définit la date DTO
    'si DTO=DV, redéfinit le message MSG avec les valeurs 10a et 10b de l'onglet Out et sort de la boucle
    If DTO = DV Then MSG = MSG & "10a = " & TVO(X, 3) & Chr(13) & "10b = " & TVO(X, 4) & Chr(13): Exit For
Next X 'prochaine ligne de la boucle
MsgBox MSG 'affiche le message MSG
End Sub

Salut Thauthème

J'ai une PETITE problématique pour sur un sujet peux tu m'aider stp?

https://forum.excel-pratique.com/excel/proteger-une-feuille-avec-un-bouton-t99014.html

Rechercher des sujets similaires à "donnees page principal fonction date jour"