• Initiateur de la discussion Initiateur de la discussion Yacine
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Yacine

XLDnaute Occasionnel
Bonjour tout le monde;

Dans le fichier ci-joint j'ai créé un formulaire afin de gérer un projet, donc je vous prie de bien vouloir m'aider à mettre en place ce formulaire dont vous trouverez de plus amples informations sur la feuille1 du fichier joint.

Je vous remercie d'avance pour vôtre aide.
 

Pièces jointes

Re : Formulaire

Bonjour Yacine,

Pour faire grossir les labels, c'est dans la fenêtre propriétés qu'il faut aller régler tout ça. Je ferai grossir un peu tout, car j'ai un cousin qui a 29 lettres dans son nom, avec 3 espaces. Ah les nobles !!! Manquerait plus qu'il soit lieutenant colonel !!!

Il y a 2 labels compagnie dans ton USF, donc je suppose qu'il faut faire 2 listes identiques. On pourrait également faire ça pour le grade, d'ailleurs.
Il faut alors utiliser des Combobox. (zones de liste modifiable).

Je verrai cela demain.

Repos

Gruick
 
Re : Formulaire

Bonsoir

Ci dessous le fichier avec les procédures pour gérer la base de données.
J'ai renommé les textbox et combobox pour avoir une relation logique entre le numéro des contrôles et des colonnes.

Pour modifier il faut cliquer deux fois sur la ligne dans la colonne A
J'ai utilisé des combobox pour les données qui peuvent être répétitive.

Pour les dates on pourrait utiliser le contrôle DtPicker

Un fil avec des procédures similaires
https://www.excel-downloads.com/threads/userform-et-multipage.112457/

A tester
A modifier
 

Pièces jointes

Re : Formulaire

Bonsoir

Il faut modifier les procédures
Code:
Private Function controldonnee()

If controledata([COLOR="red"]4[/COLOR], "TextBox7") = 1 Then
    controldonnee = 1
    Exit Function
End If

If controledata([COLOR="red"]4[/COLOR], "TextBox13") = 1 Then
    controldonnee = 1
    Exit Function


procédure à modifier
Private Function controledata(£type As Byte, £controle As String)

 .............................................  
    Case 3 ' zone date
        If .Value = "" Then Exit Function
        If Not IsDate(.Value) Then
            Call MsgBox("La zone " _
                        & vbCrLf & "doit être une date[COLOR="red"]  : jj/mm/aaaa[/COLOR]" _
                        & vbCrLf & "" _
                        , vbCritical, Application.Name)
            
            .SetFocus
            controledata = 1
            Exit Function
        End If

et rajouter 
[COLOR="red"]
    Case 4
         If .Value = "" Then Exit Function
        If Not IsDate(.Value) Then
            Call MsgBox("La zone " _
                        & vbCrLf & "doit être de la forme hh:mm" _
                        & vbCrLf & "" _
                        , vbCritical, Application.Name)
            
            .SetFocus
            controledata = 1
            Exit Function
        End If
 [/COLOR]   
    End Select
End With
End Function

JP
 
Re : Formulaire

Bonjour

Ya un petit problème que je n'arrive pas à régler, c lors de la modification de ma base de données (en cliquant sur la colonne A de la ligne à modifier) je reçois un message d'erreur donc impossible de modifier la ligne.

D'un autre côte, lors de la saisie, il reconnait que le (M.) quand je coche la civilité, il ne me ramène pas (Mme) et (Mlle), donc je vous prie de m'aider à rectifier ces erreurs.

et aussi lors de la modification, dans les zones de saisies des heures elle se transforment en chiffres.

et si c possible je voudrais que les dates soient saisies automatiquement (avec la souris).

Merci Beaucoup d'avance et bonne journée à tous.
 

Pièces jointes

Re : Formulaire

Bonjour

Ci joint une nouvelle version

J'ai rajouté de DTPicker pour afficher la date.
J'utilise un TextBox et un DTPicker quand l'un est visible le deuxième est invisible et vice versa.

J'utilise cette technique pour avoir la possibilité d'une cellule vide.

Les messages d'erreur affiche le nom de la zone concernée.

Ligne à modifier pour que le bouton modification fonctionne
Call ecrirebdd(ActiveCell.Row, ActiveCell.Worksheet.Name)

A tester

JP
 

Pièces jointes

Re : Formulaire

Bonjour

Ci dessous la procédure à modifier pour afficher le format pour les heures.

Code:
Private Sub ecrireTextbox(£ligne1 As Long, £nomfeuille1 As String)
' Nom des label
' Label  numéro d'ordre= numéro colonne

With Sheets(£nomfeuille1)

For Each £Ctrl In Me.Controls
    Select Case TypeName(£Ctrl)
        Case "TextBox"
            £coln = Val(Replace(£Ctrl.Name, "TextBox", ""))
            Select Case £coln
                Case 7, 13 ' format hh:mm
                Me.Controls(£Ctrl.Name).Value = Format(.Cells(£ligne1, £coln), "hh:mm")
                
                Case Else
                Me.Controls(£Ctrl.Name).Value = .Cells(£ligne1, £coln)
            End Select
        Case "ComboBox"
            £coln = Val(Replace(£Ctrl.Name, "ComboBox", ""))
           Me.Controls(£Ctrl.Name).Value = .Cells(£ligne1, £coln)
    End Select
Next £Ctrl
End With
End Sub

A tester

JP
 
Re : Formulaire

salut jp, voilà je viens de m'apercevoir d'un petit problème concernant le formulaire que tu as conçu pour moi (vives remerciements) le problème est quand je mets une date dans le formulaire (par exemple le 05/03 dans ma base de données je reçois le 03/05) donc si tu peux y remédier à ça je te serai vraiment reconnaissant.

Merci par avance.

NB: se référer au fichier PSICF2
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
4
Affichages
386
  • Question Question
Microsoft 365 Rechercher date
Réponses
5
Affichages
228
  • Question Question
XL 2013 user form
Réponses
2
Affichages
303
Réponses
6
Affichages
348
Retour