Formule cellule rempli via textbox ne se met pas a jour
Bonjour,
Voici mon probleme:
Je rempli un tableau via un userform avec des textbox il y a 5 colonnes la A ou il y a la formule =MIN(B2;C2;D2;E2) et B, C, D et E ou je met des dates.
Si je remplis directement le tableau sans passer par userform ça fonctionne parfaitement, par contre avec l'userform, je suis obliger de double cliquer sur B2, C2, D2 et E2 pour que A2 se met à jour.
La case Formule automatique dans les options est bien activée
Quel peut être le souci ?
Par avance merci.
Bonjour
Peut-être ta macro est-elle associée à l'événement "Double clic" ? :
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)Bye !
Bonjour,
Non, pas de macro associé au double clic.
Un peut plus de précision, le calcul en A2 en remplissant avec l'userform la colonne B2, C2, D2 et E2, me donne toujours la date 00/01/1900. Les colonnes sont sous format date.
Bonjour Guignol81, gmb, le forum,
Regarde l'exemple ci-joint si ça peut t'aider
Formule en A2: =MIN($B2;$C2;$D2;$E2)
Ecriture en cellule B :
Range("B" & DernLigne).Value = CDate(TextBox1)Données sous forme de tableau pour que la formule suive automatiquement en A.
Cordialement,
Bonsoir,
Merci pour l'aide votre code marche a la perfection, exactement ce que je recherche, malheureusement pour moi, je n'arrive pas à la faire fonctionner avec mon code
Je poste un bout de mon code original
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l’ajout ?", vbYesNo + vbExclamation, "Demande de confirmation d’ajout") = vbYes Then
L = Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1
Range("A" & L).Value = ComboBox1
Range("B" & L).Value = ComboBox2
Range("C" & L).Value = TextBox1
Range("D" & L).Value = TextBox2
Range("E" & L).Value = TextBox3
Range("F" & L).Value = TextBox4
Range("G" & L).Value = TextBox5
Range("H" & L).Value = TextBox6
Range("I" & L).Value = TextBox7
Range("j" & L).Value = TextBox8
Range("K" & L).Value = TextBox9
Range("L" & L).Value = TextBox10
Range("M" & L).Value = TextBox11
Range("N" & L).Value = TextBox12
Range("O" & L).Value = TextBox13
Range("P" & L).Value = TextBox14 'Represente "la colonne A" avec la formule =MIN($B2;$C2;$D2;$E2)
Range("Q" & L).Value = TextBox15 'Represente "la colonne B"
Range("R" & L).Value = TextBox16 'Represente "la colonne C"
Range("S" & L).Value = TextBox17 'Represente "la colonne D"
Range("T" & L).Value = TextBox18 'Represente "la colonne E"
Range("U" & L).Value = TextBox19
Unload Me
UserForm1.Show
End If
End SubBonjour Guignol81,
Essaie ainsi:
Private Sub CommandButton1_Click()
Dim L As Integer
If MsgBox("Confirmez-vous l’ajout ?", vbYesNo + vbExclamation, "Demande de confirmation d’ajout") = vbYes Then
L = Sheets("Feuil1").Range("A65536").End(xlUp).Row + 1
Range("A" & L).Value = ComboBox1
Range("B" & L).Value = ComboBox2
Range("C" & L).Value = TextBox1
Range("D" & L).Value = TextBox2
Range("E" & L).Value = TextBox3
Range("F" & L).Value = TextBox4
Range("G" & L).Value = TextBox5
Range("H" & L).Value = TextBox6
Range("I" & L).Value = TextBox7
Range("j" & L).Value = TextBox8
Range("K" & L).Value = TextBox9
Range("L" & L).Value = TextBox10
Range("M" & L).Value = TextBox11
Range("N" & L).Value = TextBox12
Range("O" & L).Value = TextBox13
Range("P" & L).Value = TextBox14 'Represente "la colonne A" avec la formule =MIN($B2;$C2;$D2;$E2)
Range("Q" & L).Value = CDate(TextBox15) 'Represente "la colonne B"
Range("R" & L).Value = CDate(TextBox16) 'Represente "la colonne C"
Range("S" & L).Value = CDate(TextBox17) 'Represente "la colonne D"
Range("T" & L).Value = CDate(TextBox18) 'Represente "la colonne E"
Range("U" & L).Value = TextBox19
Unload Me
UserForm1.Show
End If
End SubPar contre je ne comprends pas
Range("P" & L).Value = TextBox14 'Represente "la colonne A" avec la formule =MIN($B2;$C2;$D2;$E2)si tu as une formule dans la colonne A, tu ne peux pas rentrer la valeur de TextBox14, sinon le formule sera remplacée par la valeur de la textbox
Cordialement,
xorsankukai a écrit :Par contre je ne comprends pas
Range("P" & L).Value = TextBox14 'Represente "la colonne A" avec la formule =MIN($B2;$C2;$D2;$E2)si tu as une formule dans la colonne A, tu ne peux pas rentrer la valeur de TextBox14, sinon le formule sera remplacée par la valeur de la textbox
Cordialement,
Bonjour Xorsankukai
Peux être ça le souci... et il possible de garder cette textbox, mais qu'elle affiche seulement le résultat de la cellule et lorsque que je valide userform pour entrer les données, elle n'écrit pas dans la cellule ?
(par défaut elle désactivée en écriture dans les paramètre (Enabled = False)
J'ai essayé de la supprimer en sélectionnant la textbox et supprimer et en supprimant la ligne dans le code, mais j'ai cette erreur qui apparait en cliquant sur le bouton pour ouvrir l'userform:
Ensuite quand je clic sur debogage:
Re,
garder cette textbox, mais qu'elle affiche seulement le résultat de la cellule et lorsque que je valide userform pour entrer les données, elle n'écrit pas dans la cellule ?
Il suffit de neutraliser la ligne de code suivante en mettant un ' devant pour l’empêcher d'écrire
'Range("P" & L).Value = TextBox14 'Represente "la colonne A" avec la formule =MIN($B2;$C2;$D2;$E2)Cordialement,
Et bien... un grand merci Xorsenkukai,
Ça fonctionne parfaitement bien chez moi maintenant !
Encore merci et bonne soirée.