XL 2021 Extraire et mettre en col G le premier N° trouvé si son premier chiffre est différent de 0

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 !

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous 🙂

Je n'arrive pas à faire la bonne formule pour mon besoin :
En colonne A dans les textes, il y a des n° de tel.
Mon besoin (formule en Col G)
Extraire de la Col A et mettre en col G le premier N° trouvé si son premier chiffre est différent de 0
Résultat attendu en col I

Auriez-vous la bonne formule ?
En cas, je joins le petit fichier test.
Merci à toutes et à tous,
Je continue mes recherches....
🙂
 

Pièces jointes

Solution
Voyez le fichier joint avec cette fonction VBA :
VB:
Function Extrait(x As String) As Double
Dim i%, deb%, y$
For i = 1 To Len(x)
    If deb = 0 And IsNumeric(Mid(x, i, 1)) Then deb = i
    If deb > 0 And Not IsNumeric(Mid(x, i, 1)) Then
        If i - deb >= 10 Then
            y = Mid(x, deb, i - deb)
            If Left(y, 1) = "0" Then y = 33 & Mid(y, 2)
            Extrait = CDbl(y)
            Exit Function
        End If
        deb = 0
    End If
Next
End Function
Formule en G2 =Extrait(A2)

Salut TooFatBoy.
Bonjour,

Dans ton fichier exemple il y a quelques soucis :
- premier numéro trouvé : numéro de téléphone ou nombre quelconque ? Parce que sur la ligne 2 on dirait un numéro de téléphone, mais ligne 6 on dirait le nombre qui suit "CP"
- si son premier chiffre est différent de 0 : il faut renvoyer le numéro seulement si il ne commence pas par 0, ou il faut renvoyer le numéro sans le premier 0 ?

Bonne journée,
 
Bjr xUpsilon 🙂
Merci d'être là.
Je ne comprends pas ton interrogation
Par exemple :
ligne 2
Fiona : xxxxxxxxx - chalifert (77144) - IAD - Commune : - CP : - Tel1 : 0222222222 - Tel2 : 0 - Mail perso : - Mail Pro : - 12-06-23 19:15 : RendezVous pour le : 15 06 2023 09:00 - RAS
Le 1er n° est 0222222222
ligne 6
Fiona : xxxxxxxxx Thierry - Safti - Commune : - OutreMer Martinique - décalage horaire -6 h - CP : 562699999999 - Tel1 : 0699999999 - Tel2 : 0 - Mail perso : - Mail Pro : - 05-06-23 14:14 : RendezVous pour le : 15 06 2023 15:00 - RAS
Le 1er n° est 562699999999
🙂
 
Bjr Gérard 🙂
"En lignes 2 3 4 tu vas chercher des numéros de téléphone qui commencent par zéro. Et en lignes 5 et 6 tu prends les numéros des CP..."
J'ai du encore mal m'expliquer 🙄

Je voudrais juste extraire le 1er n° trouvé :
Par exemple :
ligne 2
Fiona : xxxxxxxxx - chalifert (77144) - IAD - Commune : - CP : - Tel1 : 0222222222 - Tel2 : 0 - Mail perso : - Mail Pro : - 12-06-23 19:15 : RendezVous pour le : 15 06 2023 09:00 - RAS
Le 1er n° est 0222222222
ligne 6
Fiona : xxxxxxxxx Thierry - Safti - Commune : - OutreMer Martinique - décalage horaire -6 h - CP : 562699999999 - Tel1 : 0699999999 - Tel2 : 0 - Mail perso : - Mail Pro : - 05-06-23 14:14 : RendezVous pour le : 15 06 2023 15:00 - RAS
Le 1er n° est 562699999999
🙂
 
Bonjour,


Je dirais que oui non.

Je dois mal vieillir car je t'ai compris dès #1... 😇


[edit]
Ah non, au temps pour moi : j'avais compris qu'il ne fallait regarder que tel1 et tel2, mais pas cp...
[/edit]
Bjr à toi 🙂
tel1, tel2,cp sont bien contenus dans chaque cellule mais... C'est uniquement le 1er N° qu'il faudrait chercher et l'extraire si son premier chiffre est différent de 0
Mais je pense que ma demande n'est pas facile à réaliser,
🙂
 
Voyez le fichier joint avec cette fonction VBA :
VB:
Function Extrait(x As String) As Double
Dim i%, deb%, y$
For i = 1 To Len(x)
    If deb = 0 And IsNumeric(Mid(x, i, 1)) Then deb = i
    If deb > 0 And Not IsNumeric(Mid(x, i, 1)) Then
        If i - deb >= 10 Then
            y = Mid(x, deb, i - deb)
            If Left(y, 1) = "0" Then y = 33 & Mid(y, 2)
            Extrait = CDbl(y)
            Exit Function
        End If
        deb = 0
    End If
Next
End Function
Formule en G2 =Extrait(A2)

Salut TooFatBoy.
 

Pièces jointes

Re-Bjr Gérard 🙂
Il faut que je renouvelle mon stock de "MERCIS" 😉
Nickel ta fonction et elle va beaucoup me servir, comme tout ce que tu as la gentillesse de me donner avec autant de patience. (lol, on a du se connaître dans une autre vie) 😛

J'avais compris que par simple formule ce serait peut-être pas possible.

Ta fonction est super 🙂
Alors SUPER, SUPER MERCI
🙂
 
- 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

Retour