Remplacer les points par des virgules pour format @

Bonsoir,

Je ne suis pas arrivé à trouver mon bonheur sur le forum, que j'avais délaissé je l'avoue depuis quelques temps par manque de nouveau projet

Pour schématiser, je doit inscrire de B10 à B13 des adresses mails, cependant, avec Excel il est facile de mettre une virgule à la place du point en se servant du pavé numérique.

A chaque validation de cellule (sur la plage définie) un MsgBox me demande si j'ai entré la bonne adresse.

Je souhaiterai par contre, avant ce MsgBox changer les virgules en point si je me suis trompé en saisissant. J'ai pensé à :

 Selection.Replace What:=",", Replacement:="."

Mais n'arrive pas à l'intégrer dans mon code.

Une personne charitable aurait il une idée s'il vous plait ?

Merci par avance.

41classeur1.xlsm (15.34 Ko)

Ci-joint ma maquette

Bonsoir,

essaie ceci

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Range("B10:B13"), Target) Is Nothing Then
        If Target <> "" Then
            Target.Replace ",", "."
            Valeur = Target.Value
            If MsgBox("Etes vous sur de vouloir valider " & Valeur & " " & vbNewLine & Chr(13) & "comme adresse mail ?", vbQuestion + vbYesNo, "                            ATTENTION") = vbYes Then Exit Sub
            If vbNo Then
                Target.Value = Empty
            End If
        End If
    End If

End Sub

Hello,

Je te remercie pour ta solution, qui fonctionne très bien, mais qui n'est pas très "transparente" dans le sens où il faut valider plusieurs fois le "oui" du MsgBox.

Comment ça je suis difficile ?........... non, perfectionniste dans ce que je fais !...... hihihihi

L'as tu tester en réel sur le fichier et en mettant deux ou trois virgules dans ton adresse mail s'il te plait ?

Merci.

@ toute......

Hello,

dasaquit a écrit :

Hello,

Je te remercie pour ta solution, qui fonctionne très bien, mais qui n'est pas très "transparente" dans le sens où il faut valider plusieurs fois le "oui" du MsgBox.

Private Sub Worksheet_Change(ByVal Target As Range)

    If Not Intersect(Range("B10:B13"), Target) Is Nothing Then
       application.enableevents=false
        If Target <> "" Then
            Target.Replace ",", "."
            Valeur = Target.Value
            If MsgBox("Etes vous sur de vouloir valider " & Valeur & " " & vbNewLine & Chr(13) & "comme adresse mail ?", vbQuestion + vbYesNo, "                            ATTENTION") = vbYes Then application.enableevents=true: Exit Sub
            If vbNo Then
                Target.Value = Empty
            End If
        End If
        application.enableevents=true
    End If

End Sub
dasaquit a écrit :

Comment ça je suis difficile ?........... non, perfectionniste dans ce que je fais !...... hihihihi

L'as tu testé en réel sur le fichier et en mettant deux ou trois virgules dans ton adresse mail s'il te plait ?

Merci.

@ toute......

oui je l'ai testé et le remplacement se fait bien

Bravo,

C'est exactement ce qu'il me fallait ne serais tu pas un peu perfectionniste également à tout hasard ?

Je plaisante bien sur, tu es extra et je te remercie sincèrement.

Bonne continuation et à bientôt sur le site.

David

Rechercher des sujets similaires à "remplacer points virgules format"