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

Microsoft 365 plantage macro retour en arrière

FCMLE44

XLDnaute Impliqué
Bonjour

Cette macro débogue lorsque nous effectuons l'action suivante dans un fichier

"Si faute de frappe et retour arrière pour effacer"

Voici le code :
VB:
Private Sub TextBox15_Change()
Range("K2").Value = Format(CCur(Prépacourriers.TextBox15.Value), "### ##0.00 €")
End Sub

Que pourrais y rajouter pour éviter l'anomalie ?

Merci
 
Solution
en utilisant le même principe
voici le code à affecter à ton bouton, il efface le userform et les données de la feuille courriers
Sub raz()
With Sheets("courriers")
For n = 1 To UBound(mescontrols)
.Range(mesranges(n)).Value = ""
Me.Controls(mescontrols(n)) = ""
Next
End With
End Sub

sousou

XLDnaute Barbatruc
Re
Voici une solution qui si tu sorts de ton userform, il récupère les données de la feuille courriers.
A l'initialisation, on initialise deux table (mescontrols, mesranges) qui décrivent les relations entre feuille et user.
La procédure recup va récupèrer les valeurs de la feuille courrier dans le user. ( avérifier qu'il n'y ai pas d'erreur dans les deux tables)
J'ai pour faciliter la compréhension renommer ton userform en ....ancien et recréer un nouveau user ou j'ai renommer les controls pour une meilleur lisibilité.(pas obligatoire).
J'ai utilisé ici la première version de ton fichier si des fois tu avais fait des modifs
A suivre
 

Pièces jointes

  • Maquette 3.xlsm
    415.2 KB · Affichages: 11

sousou

XLDnaute Barbatruc
en utilisant le même principe
voici le code à affecter à ton bouton, il efface le userform et les données de la feuille courriers
Sub raz()
With Sheets("courriers")
For n = 1 To UBound(mescontrols)
.Range(mesranges(n)).Value = ""
Me.Controls(mescontrols(n)) = ""
Next
End With
End Sub
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…