XL 2010 Envoi de données et modif par usf

wall

XLDnaute Nouveau
Bonjour à tous,

Merci d'avance par les réponses futurs,
Avec le tableau ci-joint, mon but est d'envoyer les données simultanément sur les feuilles " Traces" et "Fiche", de pouvoir les éditer et éventuellement de les supprimer la feuille "Traces"
C'est tout un programme et j'ai du mal avec.

Si vous avez une idée, une aide pour avancer, je suis preneur, encore merci
Cordialement
 

Pièces jointes

  • Test003_MOY.xlsm
    82.9 KB · Affichages: 40

herve62

XLDnaute Barbatruc
Supporter XLD
Il faudrait d'abord remettre correctement jusque "Enregistrement" soit valide , si box vide ne se colore pas en rouge ( avec la bonne box !!) les cell. pour recolter les "Obs " sont en nombres et pas en texte ... etc
rem pour tous : je ne connais pas la syntaxe style : TextBox1 * 1 ??
 

wall

XLDnaute Nouveau
Il faudrait d'abord remettre correctement jusque "Enregistrement" soit valide , si box vide ne se colore pas en rouge ( avec la bonne box !!) les cell. pour recolter les "Obs " sont en nombres et pas en texte ... etc
rem pour tous : je ne connais pas la syntaxe style : TextBox1 * 1 ??
Bonsoir à tous , salut Hervé, merci
J'ai essayé d'avancer mais lors de la saisie, je trouve des erreurs de décalage d'une cellule sur les feuilles "Traces" et "Fiche"
Si vous voulez bien solutionner cette erreur!
Merci d'avance
Cordialement
 

Pièces jointes

  • Test004___Wall__MOY.xlsm
    78 KB · Affichages: 30

Bebere

XLDnaute Barbatruc
bonjour
Wall bienvenue
mis les combobox en ordre croissant,combobox1 était initialisée 2 fois(mis en commentaire activate)
si tu es dans une feuille tu fais ce qur tu as à faire,ensuite tu passes à la suivante
Hervé texbox1 *1,remplace val(textbo1) nbre entier ou Cdbl(textbo1) pour nbre avec décimale

Code:
Private Sub Enregistrer_Click()
    With Sheets("Inscriptions")
        Label1.ForeColor = RGB(0, 0, 0)
        If ComboBox1.ListIndex = -1 Then
            MsgBox "Vous devez choisir un NOM.", 16
            Label1.ForeColor = RGB(255, 0, 0)
        End If

        If TextBox1.Text = "" Then

            MsgBox "Veuillez saisir le champ Nom et Prénom", 16
            Label8.ForeColor = RGB(255, 0, 0)
        End If
        If ComboBox7.Text = "" Then

            MsgBox "Veuillez saisir le champ Autre", 16
            Label10.ForeColor = RGB(255, 0, 0)
        End If
        If TextBox2.Text = "" Then

            MsgBox "Veuillez saisir le champ Observation", 16
            Label1.ForeColor = RGB(255, 0, 0)

            Exit Sub
        End If


        Set cell = .Range("A4:A" & .Range("A" & Rows.Count).End(xlUp).Row).Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not cell Is Nothing Then
            lgn = cell.Row
        Else
            lgn = .Range("A" & Rows.Count).End(xlUp)(2).Row
        End If
        'On reporte les notes de l'USF sur la feuille ''Inscriptions''
        '.Range("A" & lgn) = ComboBox1
        .Range("G" & lgn) = TextBox1 * 1
        .Range("H" & lgn) = ComboBox7 * 1
        .Range("I" & lgn) = TextBox2.Value                     '* 1 contient l'observation dans le textbox 2 de l'USF Saisie 1!!!

    End With

    Set f = Sheets("Fiche")
    f.Range("C1") = ComboBox1
    f.Range("F6") = TextBox1 * 1    'moyenne
    For I = 2 To 6
        f.Cells(6, I - 1) = Val(Controls("ComboBox" & I))
    Next
    f.Range("A11") = ComboBox7 * 1    'autre
    f.Range("A15") = TextBox2.Value         '* 1 contient l'observation dans le textbox 2 de l'USF Saisie 1!!!

    With Sheets("Traces")
        Set R = .Range("B2:B" & .Range("B" & Rows.Count).End(xlUp).Row).Find(ComboBox1.Value, LookIn:=xlValues, lookat:=xlWhole)
        If Not R Is Nothing Then
            lgn = R.Row
        Else
            lgn = .Range("C" & Rows.Count).End(xlUp)(2).Row ' + 1
        End If
        .Range("A" & lgn) = Now
        .Range("B" & lgn) = ComboBox1
        For I = 2 To 6
            .Cells(lgn, I + 1) = Val(Controls("ComboBox" & I))
        Next I
        .Range("H" & lgn) = TextBox1 * 1
        .Range("I" & lgn) = ComboBox7 * 1
        .Range("J" & lgn) = TextBox2.Value      '* 1 contient l'observation dans le textbox 2 de l'USF Saisie 1!!!
    End With

    flag = 1
    For I = 1 To 2
        Controls("TextBox" & I) = ""
    Next I
    For I = 1 To 7
        Controls("ComboBox" & I).ListIndex = -1
    Next I

    flag = 0
    MsgBox "Données enregistrées avec Succès !"     ' message box de confirmation d'enregistrement
End Sub
 

wall

XLDnaute Nouveau
Bonjour à tous,
Merci Bebere pour ton éclaircissement, cela m'a aidé à comprendre ce bout qui me posait souci.
Autre chose, je ne sais pas pourquoi à chaque fois, je sélectionne un nom dans le formulaire, la Textbox1 affiche un Zéro?
D'autres part, je voulais par ce code afficher toutes les données saisies auparavant dans le formulaire pour pouvoir les modifier. Merci de me préciser l'astuce :

If Me.ComboBox1.ListIndex = -1 Then Exit Sub
Application.EnableEvents = False
With Sheets("Traces")
Ligne = Me.ComboBox1.ListIndex + 2
ComboBox2 = .Range("C" & Ligne).Value
ComboBox3 = .Range("D" & Ligne).Value
ComboBox4 = .Range("E" & Ligne).Value
ComboBox5 = .Range("F" & Ligne).Value
ComboBox6 = .Range("G" & Ligne).Value
TextBox1 = .Range("H" & Ligne).Value
ComboBox7 = .Range("I" & Ligne).Value
TextBox2 = .Range("J" & Ligne).Value

End With

Bien à vous
Cordialement
 

Bebere

XLDnaute Barbatruc
bonjour
Wall voilà un début,le code est fait pour enregistrer et modifier
commencer par choix action ensuite choix nom et la suite
se servir du 1er bouton pour enregistrer et modifier
changer le code de moyenne et ajouter cbovide,inicbo1
 

Pièces jointes

  • Test004___Wall__MOYV1.xlsm
    96 KB · Affichages: 29

wall

XLDnaute Nouveau
Bonjour à tous, salut Bebere, merci encore pour ton soutien,
Si possible stp de m'expliquer ta dernière recommandation : changer le code de moyenne et ajouter cbovide,inicbo1
J'aimerai aussi que le formulaire soit le plus simple possible, càd que dès que je sélectionne un nom avec le Combo1, si les données sont déjà saisies dans la feuille "Traces", elles s'afficheront directement dans l'USF. Ainsi, je peux soit les modifier ou les supprimer de la feuille "Traces" et aussi supprimer le nom et Prénom de la feuille "Inscrits" ET non de la feuille "Inscriptions"
J’espère ne pas être casse pied avec ces petits détails et je te remercie d'avance
Merci le forum
Cordialement
 

Pièces jointes

  • Image1.jpg
    Image1.jpg
    88.4 KB · Affichages: 31
  • Wall__MoyV1.xlsm
    93.1 KB · Affichages: 25

wall

XLDnaute Nouveau
Bonsoir Bebere, bonsoir à tous,
Oui je l'ai lu, il est très cool et sympa par ailleurs le formulaire. Le souci pour moi est d'essayer de le simplifier car il y a 2 boutons modifier, 2 fois Recherche, etc.
J'aurais voulu comme expliquer dans le poste précédent : de cliquer simplement sur le Combobox1 pour choisir un nom parmi les inscrits, si ses notes sont déjà rentrées, elles s'affichent automatiquement. A ce moment là, j'ai le choix de modifier ou de supprimer. Si les notes ne sont pas déjà saisies, je les rentre et j'enregistre simplement.
En tout cas, merci pour tes conseils !
Cordialement
 

Discussions similaires

Statistiques des forums

Discussions
311 709
Messages
2 081 774
Membres
101 816
dernier inscrit
Jfrcs