Saisie numéro de téléphone dans une cellule Le sujet est résolu

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
Curtis Newton
Membre fidèle
Membre fidèle
Messages : 226
Inscrit le : 19 avril 2015
Version d'Excel : FR 2010

Message par Curtis Newton » 30 janvier 2018, 18:57

Bonjour,

Est-il possible de renseigner dans une cellule tous formats de numéros téléphoniques, sans renvoi d'erreur.

Les personnes (mes collègues) qui renseignent les cellules, utilisent régulièrement le copier-coller depuis un document word, de numéros téléphoniques sans format défini. Lorsqu'ils saisissent des numéros manuellement, ils laissent libre cours à leur fantaisie.

Cela donne : 0033678256748 / +33(65)122574 - 00 223 76 78 26 98 ou encore 06.12.28.98.74, 07/12/14/26/92

L'idée serait que la cellule destination, conserve et accepte tous les caractères ou formats saisis sans rechigner.

Merci pour votre aide
Avatar du membre
Le_Troll_Du_27
Membre fidèle
Membre fidèle
Messages : 164
Inscrit le : 14 juillet 2015
Version d'Excel : 2019 FR 64 Bits
Contact :

Message par Le_Troll_Du_27 » 30 janvier 2018, 19:03

'**** Correspond au programme de la ComboBox3 "Pays"  ****
Private Sub ComboBox3_Enter()
'Pour paramétrer le nombre de chiffres des numéros de téléphone --> fixe
    If ComboBox3 = "Belgique" Then    ' (+32) | [10-10-10]
        TextBox_5.MaxLength = 10
        TextBox_5 = Format(TextBox_5, "0# ## ## ## ##")
    End If
    If ComboBox3 = "Espagne" Then    ' (+34) | [9-9-9]"
        TextBox_5.MaxLength = 9
        TextBox_5 = Format(TextBox_5, "(0## ### ###")
    End If
    If ComboBox3 = "France" Then    ' (+33) | [10-10-10]"
        TextBox_5.MaxLength = 12
        TextBox_5 = Format(TextBox_5, "(0#) ## ## ## ##")
    End If
    If ComboBox3 = "Italie" Then  ' (+39) | [10-10-10]"
        TextBox_5.MaxLength = 10
        TextBox_5 = Format(TextBox_5, "0# ## ## ## ##")
    End If
    If ComboBox3 = "Luxembourg" Then    ' (+352) | [8-9-9]"
        TextBox_5.MaxLength = 8
        TextBox_5 = Format(TextBox_5, "0# #### ###")
    End If
    If ComboBox3 = "Pays Bas" Then    ' (+31) | [10-10-10]"
        TextBox_5.MaxLength = 10
        TextBox_5 = Format(TextBox_5, "0# ## ## ## ##")
    End If
    If ComboBox3 = "Portugal" Then    ' (+351) | [9-9-9]"
        TextBox_5.MaxLength = 9
        TextBox_5 = Format(TextBox_5, "0## ### ###")
    End If
End Sub
un exemple
Qui donne ne doit jamais s'en souvenir, qui reçoit ne doit jamais l'oublier


Date and Time Picker and MonthView - Windows 64/32:
http://forum.excel-pratique.com/excel/date-and-time-picker-windows-64-32-t79032-20.html
Avatar du membre
Curtis Newton
Membre fidèle
Membre fidèle
Messages : 226
Inscrit le : 19 avril 2015
Version d'Excel : FR 2010

Message par Curtis Newton » 30 janvier 2018, 19:26

Merci pour cette proposition :

Je joins un extrait de mon fichier.

Mes collègues privilégient le copier-coller et parfois, cela compromet l'intégrité du fichier et sa bonne marche. Il peut arriver que 10 numéros avec des indicatifs de différents pays soient reportés dans une même cellule. Ils ne feront pas la saisie manuellement car le fichier en question, n'est que rarement sollicité par les personnes qui en ont l'utilité.

Ils reçoivent souvent des messages d'erreur... erreur de format, symbole "+" refoulé, ou zéro supprimé.

Ils sont rétifs et se cantonnent à des actions de base sur excel. Cela me laisse peut de marge pour anticiper toutes les erreurs possibles.

Si la cellule accepte tout ce que l'on y insère, sans qu'elle en modifie la forme, ou en signale l'erreur, ce sera déjà pas mal. :)
test.xlsx
(22.68 Kio) Téléchargé 7 fois
Avatar du membre
Curtis Newton
Membre fidèle
Membre fidèle
Messages : 226
Inscrit le : 19 avril 2015
Version d'Excel : FR 2010

Message par Curtis Newton » 30 janvier 2018, 23:09

Merci Troll pour ta proposition que j'utiliserai sur mon fichier personnel.

Pour ce qui concerne du fichier de groupe, la solution fourre-tout ci-après (je vais l'adapter), devrait satisfaire mes collègues :

- Ils doublent clic sur la cellule, et insère leur copier-coller dans un inpubox; un commentaire contenant pêle-mêle le ou les numéros quelque-soit leur format, est automatiquement créé.

Bonne nuit
Sub Comment()
	Dim ans As String, oComment, Cmnt As String
	Cmnt = InputBox("Please enter a comment")
	With ActiveCell
		If .Comment Is Nothing Then
			.NoteText Cmnt
		Else
			ans = MsgBox("Yes = Add" & Chr(10) & "No = Replace ", vbYesNo + vbInformation)
			If ans = vbYes Then
				oComment = .Comment.Text
				.NoteText oComment & Chr(10) & Cmnt
			ElseIf ans = vbNo Then
				.NoteText Cmnt
			End If
		End If
	End With
	ActiveCell.Comment.Shape.TextFrame.Characters.Font.Size = 12
	ActiveCell.Font.FontStyle = "MS Reference Sans Serif"
	ActiveCell.Font.Bold = True
	ActiveCell.Comment.Visible = False
End Sub
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message