MsgBox d'alerte avant ajout, svp

pompaero

XLDnaute Impliqué
Bonjour à tous

Je viens vers vous pour un coup de pouce sur des MsgBox avant enregistrement ou modification.
Je viens de créer un début de fichier avec une BDD concernant des personnels sur plusieurs sites, jusque la je pense y avoir arrivé.
J'aimerai sur Usf-Ajout et UsF_Modif avoir un MsgBox afin d'éviter les doublons sur les Nom, Prénom, Site et Fonction car je n'arrive à le faire.
Egalement sur Usf-Ajout un MsgBox pour obliger le renseignement de tous les objets (Textbox, Combobox), chose que j'ai commencé à faire mais ne fonctionne pas bien.

Merci à vous
Cdlt.
 

Pièces jointes

  • Mise en place fichier casque.xlsm
    80.8 KB · Affichages: 99

pompaero

XLDnaute Impliqué
Bonjour
- Pour le tableau vide, j'ai créé entre temps un stock de 6 casques dans la partie Personne (nommé de Cq1 à Cq6), stock , dont j'aurai en permanence même voir plus.
- pour la modification, je pense que tu a raison de récréer la personne puis effacer l'ancien, ce sera plus simple. Mais une question me taraude !! Comment peut on faire pour avoir un historique des mouvements et suppression en cas de recherche antérieur? (mutation, changement de casque, ect...) à moins que ce soit possible en lien avec "Tableau suivi".
C'est vrai que les changements de site sont rare, mais arrive. Si non (je pensais simplement créer un petit UF, servant juste à modifier le site ou nom d'une personne), on va rester sur ton idée.
- Pour les doublons, peu import la méthode pour moi, faire ce qui semble le plus simple et pratique pour toi, si le bouton Validation te convient, par la dessus.
- Code BtnSupprimer corrigé, plus qu'à tester.
- Pour les infos de "Tableau suivi", je ne sais trop le principe de mise en place, j'attendais de voir la finalité de cette UF, mais je vois que tu souhaites gérer "Tableau suivi" de l'UF_Unique qui me semble également très bien. Donc peu importe la méthode, bouton ou autre.

Cdlt
 

Dranreb

XLDnaute Barbatruc
Il n'y a pas de risque de doublon sur la combinaison de l'ensemble des ComboBox gérées par CL si on ne prévoit plus la possibilité de les changer sans que cela ne déclenche de recherche.
Je souhaiterais surtout au moins des TextBox pour l'affichage et la saisie des infos "Tableau suivi".
À moins que rédacteur et date suffisent, mais il me semble qu'il manque quand même Nature contrôle et Observations.
+ un bouton toupie ou une ListBox.
Je joins le classeur dans son état actuel de mon coté.
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    174.2 KB · Affichages: 58

pompaero

XLDnaute Impliqué
Le calendrier, super !! pratique.
J'ai ajouté des TBx, LBx et SBn (toupie) en haut à droite. Si ça convient pas tu a liberté de manœuvre pour bouger , ajouter, supprimer, je suppose que tu a ta vision des choses pour la suite.
De mon coté j'essai de créer une fiche de réception casque, à imprimer pour signature.
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    161.3 KB · Affichages: 49

pompaero

XLDnaute Impliqué
Re
Présentation fiche réception matériel terminé, est il possible avec un bouton de pouvoir imprimer cette fiche en lien avec la LBx par exemple, si la ligne est complète (Site, Nom, Prénom, Fonction et N°ID) alors le bouton imprim devient actif, par exemple ?
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    183.4 KB · Affichages: 56

Dranreb

XLDnaute Barbatruc
Oui, si LCou > 0 tu as toujours les informations dans VLgn. Il suffit d'écrire les différents éléments dans les cellules de la fiche puis l'imprimer. Dans HabiliterContrôles :
VB:
CBnImprimerFiche.Enabled = LCou > 0 And PrsComplet And CsqComplet And Pareil

J'ai mis rapidement la structure pour retrouver les infos de suivi s'il en existe pour le casque.

Mais ce n'est peut être pas bon: il vaudrait peut être mieux utiliser une ListBox plus large, en bas, pour y afficher tout simplement tous les éléments de suivi du casque et réserver les TextBox seulement à la saisie d'une nouvelle ligne.
Pour écrire VSui() garni des valeurs des TBx dans une nouvelle ligne faire:
VB:
LOSui.ListRows.Add.Range.Value = VSui
Cette instruction n'existe nulle part pour l'instant.
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    171.7 KB · Affichages: 69
Dernière édition:

Dranreb

XLDnaute Barbatruc
Pourquoi diable refaire un autre UserForm alors que le bouton suffit ?
J'ai commencé comme ça :
VB:
Private Sub CBnImprimerFiche_Click()
FVisa.[B17].Value = "Je sousigné " & VLgn(1, 4) & " " & VLgn(1, 3) & " " & VLgn(1, 2) & " sur le site " _
  & IIf(InStr("AEÉIOU", Left$(VLgn(1, 1), 1)), "d'", "de ") & VLgn(1, 1)
Me.Hide
FVisa.PrintPreview
Me.Show
End Sub
 

Dranreb

XLDnaute Barbatruc
Bonjour
Font suer tes casques de réserve sans année de fabrication alors que tu avais décidé que c'était une information obligatoire…
Je suis par ailleurs totalement opposé au principe d'y mettre quoi que ce soit dans les 4 colonnes de gauche.
Je pense qu'il faudrait complètement revoir la présentation de l'UserForm.
Plus large et moins haut.
Supprimer toutes les Frame: elles ne servent à rien.
Mettre les désignations des contrôles à leur gauche et non au dessus. (sauf Suivi, à centrer et faire coïncider avec les colonnes de la ListBox de suivi).
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    200.8 KB · Affichages: 57
Dernière édition:

pompaero

XLDnaute Impliqué
Bonjour
Je confirme, tu n'ai pas seul à suer, lol. Avec le dernier fichier je me suis entrainer à rentrer les infos des nouveaux casques et des anciens que nous avons avec l'année de fabrication, Désolé.
Pourquoi veux tu garder les 4 colonnes de gauche vide ? De mon côté, je trouve assez pratique de les renseigner sur tout pour mon stock, mais tu a certainement tes raisons.
Je regarde, ton fichier et refais la présentation du UserForm.
 

pompaero

XLDnaute Impliqué
Bonjour
Fichier en retour avec les modifs du UserForm effectuées, j'espère que c'est comme ça que tu voulais. J'ai rentré également, pour ce rendre compte du fonctionnement quelques infos dans les tableaux.
BtnImprimer, j'ai pas touché pour le moment.
 

Pièces jointes

  • CbxLiéesPompaeroCasques.xlsm
    202.2 KB · Affichages: 70

Dranreb

XLDnaute Barbatruc
Bonjour.
Oui, n'est-ce pas déjà bien mieux ainsi ? On a l'impression que c'est moins chargé. Et surtout mieux équilibré avec la largeur assez incontournable de la liste de suivi.
J'espère que tu a bien compris comment terminer la Sub CBnImprimerFiche_Click
 

pompaero

XLDnaute Impliqué
Bonjour
oui c'est bien mieux ainsi, je te rassure j'ai réussi à terminer le Sub CBnImprimerFiche_Click, et ça marche !! lol.

Par contre j'aurai souhaiter sur le BtnSupprimer, avoir le principe de copier la ligne vers une feuille (Archive) avant de supprimer, est ce possible ?
Je poursuis les tests afin d'affiner le fonctionnement si nécessaire. Merci

Cdlt
 

Dranreb

XLDnaute Barbatruc
Bonjour
Pour ajouter la ligne supprimée à une feuille Archive, je pense que le plus simple c'est de faire : FArch.ListObjects(1).ListRows.Add.Range.Value = VLgn
FArch étant le nom donné à l'objet Worksheet représentant la feuille "Archive" obtenue par copie de la feuille Fiche Vie Materiel, puis suppression des lignes du tableau.
 

Statistiques des forums

Discussions
312 203
Messages
2 086 184
Membres
103 152
dernier inscrit
Karibu