Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2016 Mise à jour des données via USERFORM

Ricouch

XLDnaute Nouveau
Bonjour,

J'ai beau essayé et chercher sur le web pour avancer sur mon projet, sans succès.

Aujourd'hui, j'essaie de mettre à jour les données du tableau via mon formulaire, pouvez vous m'aider?

 

Pièces jointes

  • LE POINT DE VENTE V20220304.xlsb
    125.8 KB · Affichages: 24
Solution
Bonjour Dranreb, Bof, Ricouch,

@Ricouch: Désolé, suite à ton MP je te réponds mais sans proposition car je n'ai pas compris ta demande.

Bonne soirée.

edit: pas trop compris, voici une proposition pour le bouton mise à jour
VB:
Private Sub CommandButton3_Click()
'Mettre à jour et sauvegarder les données

'Validations ----------------------------------------------------
    If Me.Cbx_Typederecherche.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le Type de Mandat", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Nom.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le Nom", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Tel1.Value = "" Then
        MsgBox...

Dranreb

XLDnaute Barbatruc
Bonsoir.
Je propose souvent pratiquement toujours la même chose à part quelques différence seulement dans la Sub UserForm_Initialize où je confie à un objet ComboBoxLiée la gestion des ComboBox pour la saisie des éléments d'identification ou de recherche à listes dynamiques établies de façon complètement automatique, et à un ControlsAssociés tout le reste, y compris d'éventuelles ComboBox à listes fixes.
Cela vous intéresse-t-il ?

Je joins un des récents pour que vous puissiez voir à quoi ça ressemble.
 

Pièces jointes

  • CLsCAsHMS.xlsm
    193.4 KB · Affichages: 17
Dernière édition:

bof

XLDnaute Occasionnel
Bonjour Dranreb,
Ricouch :
Il est peu probable que quelqu'un accepte de travailler sur votre modèle.

Personnellement je partirai sur au moins 2 formulaires différents :
Un pour la gestion des individus (Clients, Prospects, Personnels, contacts divers...) avec leurs coordonnées de contact
Et un autre pour les immeubles et les infos commerciales.
Pour les contacts un formulaire "ordinaire" semble suffisant vu qu'on recherche en général les gens par leur nom... Pour les immeubles un formulaire avec Listview peut s'envisager, mais je ne suis pas partisan des recherches multicritères qui présentent plus d'inconvénients que d'avantage...
Voici 2 de mes modèles qui peuvent se décliner de différentes manières.
Le premier est plutôt orienté "individus", le second plutôt "objets..."
Toutes les données sont imaginaires : Toute ressemblance avec des individus réels seraient purement fortuite...
 

Pièces jointes

  • GestBD Tableau Structuré CRUD V2.xlsm
    56.5 KB · Affichages: 13
  • GestBD Tableau Structuré CRUD ListView et Cal.xlsm
    73.2 KB · Affichages: 14

Dranreb

XLDnaute Barbatruc
l est peu probable que quelqu'un accepte de travailler sur votre modèle.
Oui et ça m'étonne toujours vu que ça n'implique que d'adapter la Sub UserForm_Initialize, ce qui est fastidieux pour moi mais simple à faire. Je serais toujours disposé à m'occuper d'adapter les autres courtes procédures si c'était nécessaire.

Oui, il faudrait un UserForm par base à mettre à jour.
 

Ricouch

XLDnaute Nouveau
Bonjour @Dranreb , @bof,

Merci pour vos retours, en réponse à vos suggestions :"Personnellement je partirai sur au moins 2 formulaires différents :
Un pour la gestion des individus (Clients, Prospects, Personnels, contacts divers...)"
Pour le formulaire en question, il est relatif uniquement aux biens, chaque bien et lié à un détenteur, pour les autres formulaires clients... je vais le créer plus tard.
Image (1) : Chaque cadre représente un formulaire (4 formulaires à la fin)



Image (2) : Pour chemin à tester



Je vais me baser sur les fichiers envoyés par @bof pour mettre en place la bonne macro.

Merci encore
 

cp4

XLDnaute Barbatruc
Bonjour Dranreb, Bof, Ricouch,

@Ricouch: Désolé, suite à ton MP je te réponds mais sans proposition car je n'ai pas compris ta demande.

Bonne soirée.

edit: pas trop compris, voici une proposition pour le bouton mise à jour
VB:
Private Sub CommandButton3_Click()
'Mettre à jour et sauvegarder les données

'Validations ----------------------------------------------------
    If Me.Cbx_Typederecherche.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le Type de Mandat", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Nom.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le Nom", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Tel1.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le Téléphone (1)", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Qualite.Value = "" Then
        MsgBox "S'il vous plaît sélectionner En qualité de", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Cbx_Ville.Value = "" Then
        MsgBox "S'il vous plaît sélectionner la Ville", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Cbx_Quartier.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le Quartier", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Txt_Adresse.Value = "" Then
        MsgBox "S'il vous plaît sélectionner l'Adresse du bien", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Txt_Etage.Value = "" Then
        MsgBox "S'il vous plaît sélectionner l'Etage", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Txt_Porte.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le N°Porte ", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Cbx_Typedubien.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le Type du bien", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Cbx_Usage.Value = "" Then
        MsgBox "S'il vous plaît sélectionner l'Usage", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Chambres.Value = "" Then
        MsgBox "S'il vous plaît sélectionner Chambres", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Txt_Salon.Value = "" Then
        MsgBox "S'il vous plaît sélectionner Salon", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Hall.Value = "" Then
        MsgBox "S'il vous plaît sélectionner Hall", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Sejour.Value = "" Then
        MsgBox "S'il vous plaît sélectionner Séjour", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Cuisine.Value = "" Then
        MsgBox "S'il vous plaît sélectionner la Cuisine", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Cbx_Meuble.Value = "" Then
        MsgBox "S'il vous plaît sélectionner Meublé", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Cbx_Supérficie.Value = "" Then
        MsgBox "S'il vous plaît sélectionner la Supérficie (m²)", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_WC.Value = "" Then
        MsgBox "S'il vous plaît sélectionner WC", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_SDB.Value = "" Then
        MsgBox "S'il vous plaît sélectionner Salle de bain", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_espaceexterieur.Value = "" Then
        MsgBox "S'il vous plaît sélectionner Espace extérieur", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Ascenseur.Value = "" Then
        MsgBox "S'il vous plaît sélectionner l'Ascenseur", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Tbx_Garage.Value = "" Then
        MsgBox "S'il vous plaît sélectionner la Place au garage", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Txt_Prix.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le Prix", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Txt_Chargé.Value = "" Then
        MsgBox "S'il vous plaît sélectionner le/la Chargé (e)", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Txt_Caution.Value = "" Then
        MsgBox "S'il vous plaît sélectionner la Caution", vbCritical
        Exit Sub
    End If
    '----------
    If Me.Txt_Montant_commission.Value = "" Then
        MsgBox "S'il vous plaît sélectionner la Rémunération du mandataire", vbCritical
        Exit Sub
    End If

    '-----------------------------------------------------------------
    With Sheets("BIENS")
Dim Ligne As Long
Ligne = Me.ListBox1.ListIndex + 2
    .Cells(Ligne, 1).Value = Me.Identifiant_Client.Value
    .Cells(Ligne, 2).Value = Me.Cbx_Typederecherche.Value
    .Cells(Ligne, 3).Value = Me.Tbx_Nom.Value
    .Cells(Ligne, 4).Value = Me.Tbx_Prenom.Value
    .Cells(Ligne, 5).Value = Me.Tbx_CIN.Value
    .Cells(Ligne, 6).Value = Me.Tbx_Email.Value
    .Cells(Ligne, 7).Value = Me.Tbx_Tel1.Value
    .Cells(Ligne, 8).Value = Me.Tbx_Tel2.Value
    .Cells(Ligne, 9).Value = Me.Tbx_Adresse.Value
    .Cells(Ligne, 10).Value = Me.Tbx_Qualite.Value
    .Cells(Ligne, 11).Value = Me.Cbx_Typedubien.Value
    .Cells(Ligne, 12).Value = Me.Cbx_Meuble.Value
    .Cells(Ligne, 13).Value = Me.Cbx_Usage
    .Cells(Ligne, 14).Value = Me.Cbx_Supérficie.Value
    .Cells(Ligne, 15).Value = Me.Tbx_Chambres.Value
    .Cells(Ligne, 16).Value = Me.Txt_Salon.Value
    .Cells(Ligne, 17).Value = Me.Tbx_Hall.Value
    .Cells(Ligne, 18).Value = Me.Tbx_Sejour.Value
    .Cells(Ligne, 19).Value = Me.Tbx_Cuisine.Value
    .Cells(Ligne, 20).Value = Me.Tbx_espaceexterieur.Value
    .Cells(Ligne, 21).Value = Me.Tbx_SDB.Value
    .Cells(Ligne, 22).Value = Me.Tbx_WC.Value
    .Cells(Ligne, 23).Value = Me.Tbx_Ascenseur.Value
    .Cells(Ligne, 24).Value = Me.Tbx_Garage.Value
    .Cells(Ligne, 25).Value = Me.Txt_Duree.Value
    .Cells(Ligne, 26).Value = Me.Txt_Dispo.Value
    .Cells(Ligne, 27).Value = Me.Cbx_Ville.Value
    .Cells(Ligne, 28).Value = Me.Cbx_Quartier.Value
    .Cells(Ligne, 29).Value = Me.Txt_Adresse.Value
    .Cells(Ligne, 30).Value = Me.Txt_Etage.Value
    .Cells(Ligne, 31).Value = Me.Txt_Porte.Value
    .Cells(Ligne, 32).Value = Me.Txt_Prix.Value
    .Cells(Ligne, 33).Value = Me.Txt_Chargé.Value
    .Cells(Ligne, 34).Value = Me.Txt_Caution.Value
    .Cells(Ligne, 35).Value = Me.Txt_Avance.Value
    .Cells(Ligne, 36).Value = Me.Txt_Crtitere.Value
    .Cells(Ligne, 37).Value = Me.Txt_Taux_commision.Value
    .Cells(Ligne, 38).Value = Me.Txt_Montant_commission.Value
    .Cells(Ligne, 39).Value = Me.Tbx_Notes.Value
    .Cells(Ligne, 40).Value = Now()
    .Cells(Ligne, 41).Value = Now()
 End With
'--------------------------------------------------------------------------------
    Me.TextBox11.Value = ""
    Me.Cbx_Typederecherche.Value = ""
    Me.Tbx_Nom.Value = ""
    Me.Tbx_Prenom.Value = ""
    Me.Tbx_CIN.Value = ""
    Me.Tbx_Email.Value = ""
    Me.Tbx_Tel1.Value = ""
    Me.Tbx_Tel2.Value = ""
    Me.Tbx_Adresse.Value = ""
    Me.Tbx_Qualite.Value = ""
    Me.Cbx_Typedubien.Value = ""

    Me.Cbx_Supérficie.Value = ""
    Me.Tbx_Chambres.Value = ""
    Me.Txt_Salon.Value = ""
    Me.Tbx_Hall.Value = ""
    Me.Tbx_Sejour.Value = ""
    Me.Tbx_Cuisine.Value = ""
    Me.Tbx_espaceexterieur.Value = ""
    Me.Tbx_SDB.Value = ""
    Me.Tbx_WC.Value = ""
    Me.Tbx_Ascenseur.Value = ""
    Me.Tbx_Garage.Value = ""
    Me.Cbx_Ville.Value = ""

    Me.Cbx_Quartier.Value = ""
    Me.Txt_Adresse.Value = ""
    Me.Txt_Etage.Value = ""
    Me.Txt_Porte.Value = ""
    Me.Cbx_Usage.Value = ""
    Me.Txt_Salon.Value = ""
    Me.Cbx_Meuble.Value = ""
    Me.Cbx_Supérficie.Value = ""
    Me.Txt_Prix.Value = ""
    Me.Txt_Chargé.Value = ""
    Me.Txt_Caution.Value = ""
    Me.Txt_Avance.Value = ""
    Me.Txt_Crtitere.Value = ""
    Me.Txt_Duree.Value = ""
    Me.Txt_Dispo.Value = ""
    Me.Tbx_Notes.Value = ""
    Me.Txt_Taux_commision.Value = ""
    Me.Txt_Montant_commission.Value = ""
    Me.Identifiant_Client.Value = ""
    '--------------------------
    'Sauvegarder les données
    Refresh_data
    ThisWorkbook.Save
    MsgBox " Mis à jour avec succès"
End Sub
 
Dernière édition:

Ricouch

XLDnaute Nouveau
CP4, Your are a boss
Merci beaucoup ça marche.
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…