XL 2021 la macro ne fonctionne pas

pibes

XLDnaute Occasionnel
Bonsoir à toutes, bonsoir à tous,
Je vous souhaites de tous cœur les meilleurs choses pour l'année 2024.

Je viens vers vous car cela fait plus de 2 mois que je cherche sur YouTube comment je peux faire la macro d'un userform, mais rien ne fonctionne comme je le voudrais, et je suis perdu.

je ne sais pas modifier les cellules de A à AC, car les cellules AD à AF sont avec des formules.

Si cela était possible de regarder si toute la macro est correct .

Je vous remercie d'avance.

Pibes
 

Pièces jointes

  • essai1.xlsm
    55.6 KB · Affichages: 4

TooFatBoy

XLDnaute Barbatruc
Bonjour,

Après avoir renommé le tableau "Tableau2" en "t_BDD", est-ce que la macro suivante fonctionne comme tu le veux ?

VB:
Private Sub commandbutton1_click()
' Pour ajouter une nouvelle entrée
Dim ligne As Long

    If ComboBox1.Value = "" Then
        MsgBox ("Veuillez renseigner le champ ""Nom de l'enfant"" !")
    Else
        If MsgBox("Confirmez-vous l'ajout des données ?", vbYesNo, "Confirmaion") = vbYes Then
            With Range("t_BDD")
                ligne = IIf(.ListObject.DataBodyRange Is Nothing, 1, .ListObject.ListRows.Count + 1)
                .Cells(ligne, 1) = ComboBox1.Value          ' Nom e
                .Cells(ligne, 2) = TextBox1.Value           ' Prénom e
                .Cells(ligne, 3) = TextBox2.Value           ' Date n e
                .Cells(ligne, 4) = TextBox3.Value           ' GSM
                .Cells(ligne, 5) = TextBox4.Value           ' e-mail
                If IsDate(TextBox5.Value) Then              ' Date de jugement
                    .Cells(ligne, 6) = CDate(TextBox5.Value)
                End If
                If IsDate(TextBox6.Value) Then              ' Date de mise en oeuvre
                    .Cells(ligne, 7) = CDate(TextBox6.Value)
                End If
                .Cells(ligne, 8) = TextBox7.Value           ' Établissement
                .Cells(ligne, 9) = TextBox8.Value           ' Adresse
                .Cells(ligne, 10) = TextBox9.Value          ' Commune
                .Cells(ligne, 11) = TextBox10.Value         ' Code p
                .Cells(ligne, 12) = TextBox11.Value         ' E-mail
                .Cells(ligne, 13) = TextBox12.Value         ' Tél
                .Cells(ligne, 14) = TextBox13.Value         ' Nom M
                .Cells(ligne, 15) = TextBox14.Value         ' Prenom M
                .Cells(ligne, 16) = TextBox15.Value         ' Adresse
                .Cells(ligne, 17) = TextBox16.Value         ' Code P
                .Cells(ligne, 18) = TextBox17.Value         ' Commune
                .Cells(ligne, 19) = TextBox18.Value         ' Tél
                .Cells(ligne, 20) = TextBox19.Value         ' E-mail
                .Cells(ligne, 21) = TextBox20.Value         ' Nom P
                .Cells(ligne, 22) = TextBox21.Value         ' Prénom
                .Cells(ligne, 23) = TextBox22.Value         ' Adresse
                .Cells(ligne, 24) = TextBox23.Value         ' Code P
                .Cells(ligne, 25) = TextBox24.Value         ' Commune
                .Cells(ligne, 26) = TextBox25.Value         ' Tél
                .Cells(ligne, 27) = TextBox26.Value         ' E-mail
                .Cells(ligne, 28) = ComboBox2.Value         ' Code enfant
                .Cells(ligne, 29) = ComboBox3.Value         ' Ouvert
'                Unload UserForm1
'                UserForm1.Show 0
            End With
        End If
    End If

End Sub

ps : pour les TextBox qui sont des dates, il faut utiliser une conversion en date.
 

Pièces jointes

  • essai1.xlsm
    47.3 KB · Affichages: 3
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
je ne parviens pas a faire des modifications, car il ne veut pas "me.TextDate" et je ne comprends pas pourquoi ?
Donc c'est réglé pour la question initiale qui portait sur la macro pour ajouter une ligne, mais maintenant c'est la macro de modification qui pose problème ?

VB:
Cells(i, 3) = Me.TextDate = Format(ActiveCell.Offset(0, 3), "DD/MM/YYYY").TextBox2.Text
C'est normal : tu n'as aucune TextBox nommée "TextDate" dans ton UserForm.
De plus, A=B=C, ça te donnera au mieux soit "Vrai", soit "Faux", dans A.
 
Dernière édition:

TooFatBoy

XLDnaute Barbatruc
Je pense qu'il y a des petits problèmes de logique dans ton code.

Par exemple, que fait-on s'il y a deux enfants avec le même nom ??? On modifie, avec les mêmes données, toutes les lignes dont le nom correspond ? :(

Chaque enfant a l'air d'avoir un id unique, donc il vaudrait mieux se baser là-dessus pour savoir quelle ligne modifier.
 

Discussions similaires

Statistiques des forums

Discussions
315 093
Messages
2 116 125
Membres
112 666
dernier inscrit
Coco0505