XL 2021 la macro ne fonctionne pas

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 !

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

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

Dernière édition:
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:
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.
 
- 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
5
Affichages
62
Retour