Aide date automatique + opérations entre feuilles
Bonjour (même si vous n'avez pas le temps de regarder la totalité de mon message, vraiment, un petit coup de pouce sur une des questions que je me pose, serait plus que le bienvenue ! :) )
Je suis en étude sup' ingé Génie Civil (en gros j'ai jamais codé a part un peu de python mais très très léger). Je suis en stage et je pense que je peux aider mon chef pour qu'il gagne du temps.
J'aimerai que la date se mette automatiquement dans la cellule P1 lors de la création de ma feuille (qui elle même est datée). J'ai vu que la fonction Today était une fonction dynamique, cela veut dire qu'elle va se mettre à jour, tout les jours? Ce qui me conviendrai, c'est une date fixe/figée une fois la feuille créée.
Bonus : Je dois communiquer entre les feuilles pour que le nombre restant de pieux à réaliser devienne l'objectif du lendemain. Exemple : le 14/06/2022 j'ai comme Nombre total à exécuter = 10 et que j'en ai exécutés 5 dans la journée, il me reste 5 pieux à faire. Lors de la création de ma feuille le 15/06/2022, j'aimerai que le Nombre total à exécuter soit de 5.... La boucle est bouclée
Une fois que j'aurais la logique ou une piste, je devrais faire de même pour le cumul des infos béton, GNR, AD BLUE et Gaz.
Si jamais l'un de vous échanger avec moi pour structurer ma pensée de jeune qui découvre la progra et le VBA je ne suis pas contre du tout !
En vous remerciant par avance, je vous mets le doc en PJ
Bonne journée
Bonjour
Un essai à tester pour la date2
.Pour le reste, les données de ton fichier sont insufisantes...
Bye !
Bonjour GMB,
Merci pour ta rapide réponse et ta disponibilité.
Je viens de voir que tu as mis dans le WorkBook
Private Sub Workbook_Open()
Sheets("Feuil1").Range("P1") = Date
End Sub
Ce que je voudrais réussir à faire c'est que dans cette même case P1, la date se mette automatique lors de la création d'une nouvelle feuille (via la macro codé dans le module et que tu peux activer avec le bouton "Dupliquer"
' Ajout de la date dans la cellule en haut du tableau
Sheets(Sheets.Count).Range("P1").Value = Format(Today, "MM/DD/YYYY")
J'ai pensé un truc du genre pour sélectionner la dernière feuille et mettre dans le cellule P1 la fonction TODAY... Ca ne fonctionne pas et je continue à chercher
Quelles genre de données te faut il si jamais tu veux regarder la suite?
Bye et bonne matinée :)
@+
Pour la date dans la cellule P1 je me suis fait aider et maintenant ca fonctionne :
ActiveSheet.Name= Format (Date,"dd mmm yy")
Range ("Pl") .Value= Format (Date,"dd mmm yy")
MsgBox"Feuille ajoutée
A présent je vais me concentrer sur la communication entre les feuilles pour que le nombre restant de pieux à réaliser devienne l'objectif du lendemain.
Exemple : le 14/06/2022 j'ai comme Nombre total à exécuter = 10 et que j'en ai exécutés 6 dans la journée, il me reste 4 pieux à faire. Lors de la création de ma feuille le 15/06/2022, j'aimerai que le Nombre total à exécuter soit de 4 (le reste de la veille).... A la fin du chantier serais donc avec un nombre de pieux = 0
A peu près la même logique pour le cumul des infos béton, GNR, AD BLUE et Gaz.
Exemple : Le volume de GNR livré sur le chantier sera rentré dans la colonne Volume/J. La colonne d'après est le Cumul et dedans j'aimerais qu'il fasse la somme de toutes les fois ou la colonne Volume/J a été remplie (à noter que les volume rentrés dans cette colonne ne seront pas rentrés tout les jours).
Si le 14/06/2022 je me fais livrer 15 L de GNR que je rentre dans le colonne Volume/J , le lendemain sur la feuille du 15/06/2022 j'aurai dans le Cumul, 15L. Si ma prochaine livraison est le 30/06/2022, sur les feuilles créées entre le 15/06 et le 30/06 je voudrais que dans la colonne Cumul, il y ait 15L.
Je ne sais pas si l'un de vous comprends la logique, j'en serai ravie
Dans l'attente d'un éventuelle piste !
Merci encore
@+
Kéo
Voici mon code si ca peut aider certains
Je mets le fichier en PJ
Merci à Manu pour son aide (si tu passes par là, coucou ;) )
Sub TestFeuilleDatée()
'a- Déclaration des variables
Dim newSheetName As String
Dim checkSheetName As String
Dim x As Object
Dim feuilleexiste As Boolean
Dim pieux As Long
Dim gnr As Long
Dim adblue As Long
Dim gaz As Long
Dim stockgnr As Long
Dim stockadblue As Long
Dim stockgaz As Long
'b- Test existence feuille
On Error Resume Next
Set x = ActiveWorkbook.Sheets(Format(Date, "dd mmm yy"))
If Err = 0 Then feuilleexiste = True _
Else feuilleexiste = False
'Copie feuille
If feuilleexiste = True Then
MsgBox "Feuille existante"
Exit Sub 'Fin de la macro
Else
'c- Implémenter toutes les variables avec les valeurs de la feuille j-1
stockgnr = Range("H50").Value
stockadblue = Range("H51").Value
stockgaz = Range("H52").Value
pieux = Range("Q10").Value
gnr = Range("G50").Value
adblue = Range("G51").Value
gaz = Range("G52").Value
' continuer ici pour les autres variables
'd- Copier la feuille modèle et la renommer
Sheets("modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = Format(Date, "dd mmm yy")
'e- Copier les variables dans la nouvelle feuille
Range("Q4").Value = pieux
Range("H50").Value = gnr + stockgnr
Range("H51").Value = adblue + stockadblue
Range("H52").Value = gaz + stockgaz
' continuer ici pour les autres variables
MsgBox "Feuille ajoutée"
End If
End Sub