XL 2019 fichier suivi de chantier

saimone

XLDnaute Nouveau
Bonjour,

Nous avons pour projet de créer un utilitaire nous permettant d'avoir la synthèse des chantiers réalisés par l'atelier.
Cet utilitaire permettrait aux techniciens de renseigner, par chantier réalisé, le nombre d'heures passées, ainsi que les matériaux consommés.

Nous avons un fichier de suivi d'affaires (suiviaffaire.xlsxm) où nous synthétisons toutes nos affaires qu'elles soient au stade de devis, affaire en cours de traitement, et affaire traitée.

Nous arrivons à récupérer les informations du fichier suivi affaire pour les inscrire dans un autre fichier excel, celui qui sera utilisé par l'atelier (bddatelier).
Nous avons ensuite filtré les chantiers par statuts ''en cours''.
Ces informations seront évolutives/dynamiques avec le temps.

Tous les fichiers sont sur un sharepoint.


Le but du jeu est, via un userform?, d'afficher un bouton par ''chantier en cours'' sur le fichier de la tablette.
Le technicien viendrait alors renseigner le nom du ou des intervenant(s) qui à(ont) travaillé(s) sur ce chantier, avec les matériaux consommés.
Une fois la validation effectuée, une ligne synthétisant ces informations serait inscrit ''en dur'' dans une feuille 'récap'.

Il y a un détail de la trame dans la feuille du même nom.

J'ai essayé de créer un userform pour y afficher les boutons.
Cependant je n'arrive pas à renommer ces boutons dynamiquement avec le nom des fichiers en cours.

Peut être que l'userform n'est même pas le bon outil pour réaliser ce projet?

Avez vous des pistes pour m'aider à le réaliser?

D'avance merci à vous
 

Pièces jointes

  • bddatelier.xlsx
    338.3 KB · Affichages: 44

saimone

XLDnaute Nouveau
Bonjour Fanfan,

J'ai bien vu votre fichier et vous en remerçie.

J'ai travaillé en parallèle et ai quasiment terminé mon fichier.
Pourriez vous m'indiquer la partie du code permettant d'afficher, dans la liste déroulante de la zone de saisie, uniquement les chantiers en cours ?

Merci à vous
 

fanfan38

XLDnaute Barbatruc
C'est dans Private Sub UserForm_Initialize()
VB:
  For i = 1 To [T_Data].Rows.Count
    If [T_Data].Item(i, 5) = "" Then 'cette ligne
      Me.ComboBox1.AddItem [T_Data].Item(i, 1)
      Me.ComboBox1.List(Me.ComboBox1.ListCount - 1, 1) = [T_Data].Item(i, 2)
    End If
  Next
A+ François
 

saimone

XLDnaute Nouveau
Rebonjour,

J'ai fait une petite sauce avec 2 fichiers, il me reste 1 problème à résoudre, peut être pouvez vous m'aider.

Dans le fichier gestiontest.xlsxm, je change le status des chantiers, notamment s'il est en cours ou non (cellule =1 ou pas de la colonne D).

Je récupère ce tableau dans le fichier chantiertest.xlsxm, en feuille 'extraction'.

Dans la feuille filtre, j'ai créé un TCD où je filtre les encours = 1.

En page dem, je lance une macro pour actualiser les tableaux et lancer l'userform

J'ai tenté plusieurs codes pour actualiser le TCD, même en mettant des pauses, je n'arrive pas à l'actualiser pour récupérer les chants correctement dans le formulaire.

Le tableau d'extraction s'actualise correctement, à condition que j'enregistre le fichier gestiontest au préalable.

Mais pour le TCD rien à faire.

Avez vous une idée de comment solutionner ce problème d'actualisation?

Cordialement
 

Pièces jointes

  • chantiertest.xlsm
    52.6 KB · Affichages: 42
  • gestiontest.xlsm
    29.8 KB · Affichages: 34

Cousinhub

XLDnaute Barbatruc
Inactif
Bonsoir,
Juste pour le souci d'actualisation
Lorsque tu sélectionnes la requête (dans l'onglet "extraction"), clique dans le ruban "Requête", puis "Propriétés", et désactive la mise à jour en arrière-plan
1689098685388.png
 

saimone

XLDnaute Nouveau
Bonjour Cousinhub,

Merci pour la réponse.

Le fait de désactiver l'actualisation de cette extraction me permettra d'actualiser correctement le TCD ensuite c'est ça?

edit:
Je viens d'essayer, en lançant une fois l'actualisation, l'extraction se met bien à jour, mais pas le TCD.
Si je relance l'actualisation une seconde fois, le TCD s'actualise aussi.
On touche au but :)

edit 2:
J'ai l'impression que j'allais trop vite, en attendant un peu, même le TCD s'actualise.


Merci beaucoup à vous pour l'aide
Très bonne journée
 
Dernière édition:

Cousinhub

XLDnaute Barbatruc
Inactif
Bonjour Cousinhub,

Merci pour la réponse.

Le fait de désactiver l'actualisation de cette extraction me permettra d'actualiser correctement le TCD ensuite c'est ça?
Bonjour,
Lorsque tu désactives l'actualisation en arrière-plan, le reste des instructions (si instructions VBA il y a) attend la fin de l'actualisation avant de continuer. Il faut bien évidemment que le fichier "Source" (ici ton fichier gestiontest) soit enregistré au préalable pour prendre en compte les dernières modifications.
Ton TCD actuel ne ramène que les numéros de chantiers, sans aucun calcul...
Et on ne place pas ce type de code dans un évènement de Feuil, on place dans un module standard
VB:
Sub Formulaire()
'actualisation extraction
Sheets("extraction").Select
Sheets("extraction").Activate
ActiveWorkbook.RefreshAll
MsgBox ("extraction actualisée")
Worksheets("filtre").PivotTables("TCD1").PivotCache.Refresh
MsgBox ("tcd actualisé")
Sheets("dem").Select
MsgBox ("Affaires actualisées")
'affichage formulaire
   test.Show Modal
End Sub
Bon courage
 

Statistiques des forums

Discussions
314 731
Messages
2 112 278
Membres
111 493
dernier inscrit
lauryd65