Comment convertir les nombres à double parité en nombres strictement impairs ?

  • Initiateur de la discussion Initiateur de la discussion gozi
  • Date de début Date de début

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 !

G

gozi

Guest
Bonjour à tous,

dans une des colonnes de mon tableau, certains nombres (mais pas tous) comportent un slash pour indiquer une double parité. Voici deux exemples : 8502/3, 8527/6.

Mais dans mon idéal, cette colonne ne devrait contenir que des nombres strictement impairs.
Pour reprendre les deux exemples précédents, je voudrais voir ceci à la place : 8503, 8527.

Actuellement, je dois corriger un à un tous les nombres concernés...
Existe-t-il une formule qui puisse se charger de cette fastidieuse tâche ?

(Le fichier que je joins en guise d'exemple vient d'être réalisé à la maison, mais au boulot nous utilisons la version Excel 2002.)

Merci beaucoup pour votre aide,

gozi
 

Pièces jointes

Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Bonjour gozi,

Le titre de la discussion fait un peu peur: j'ai cru que ce serait une question à laquelle seuls ROGER2327 et quelques autres pourraient répondre 😱 ...

Cependant, peux-tu expliquer pourquoi 8527/6 devient 8527, alors que 29347/8 devient 29347? A première vue, je croyais qu'on prenait le plus grand de 2 chiffres avant et après le "slash" (quand il est présent)!? ... ou alors c'est vraiment aussi compliqué que le titre le laissait supposer?

Oups: Seulement vu la notion de nombre impair maintenant ... je reviens (s'il n'est pas trop tard)
Code:
=1*SI(ESTNUM(TROUVE("/";A2));SI(MOD(STXT(A2;TROUVE("/";A2)+1;1)*1;2)=0;STXT(A2;1;TROUVE("/";A2)-1);STXT(A2;1;TROUVE("/";A2)-2)&STXT(A2;TROUVE("/";A2)+1;1));A2)
Re-Edit: bonjour Denis132
 
Dernière édition:
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Oui, c'est une bien belle prise de tête que j'expose là, n'est-ce pas !

Pourquoi diable ai-je besoin de conserver uniquement des nombres impairs (quand bien même le nombre impair se trouverait être inférieur au nombre pair) ?
Parce que dans un deuxième temps, j'utilise la fonction RECHERCHEV basant sa recherche dans une colonne qui contient exclusivement des nombres impairs.

Et dire que j'en ai d'autres en réserve des prises de tête... mais chaque chose en son temps...

Merci pour ton intérêt,
gozi
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Excellent !
C'était donc vrai : "Le bonheur est simple comme un coup de fil !".

Merci Denis132... et sûrement à bientôt pour mon plus grand bienfait.

gozi
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Bravo Cisco, ta formule fonctionne elle aussi à merveille !

Merci beaucoup,

(et je me demande pourquoi j'ai attendu si longtemps avant de venir poser ma question sur ce forum salvateur.)

gozi
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Re-bonjour (voire re²),

Je m'incline évidemment avec respect face à la proposition de CISCO, qui est d'une concision impressionnante, mais elle implique que le cas suivant n'est pas possible: 1234/3 (ou alors quelque chose m'échappe, une fois de plus! 😱)?
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Bien vu, Modeste.

Effectivement, dans ma réalité, le chiffre pair sera toujours inférieur au chiffre impair (qu'il soit placé avant ou après le slash).

J'ai donc fait une erreur de frappe sur l'une des lignes de mon tableau-exemple (en l'occurence 29347/8 ne peut pas exister, c'est 29347/6 qui existera à la place).
Pas malin de ma part, donc mes excuses pour avoir bêtement compliqué la donne. Je me relirai plus attentivement dans l'avenir. Mes excuses encore une fois 😱.
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Bonjour à tous



Un poil plus court :​
Code:
=--SI(ESTERR(TROUVE("/";A2));A2;SI(EST.PAIR(GAUCHE(A2;TROUVE("/";A2)-1));GAUCHE(A2;TROUVE("/";A2)-2)&DROITE(A2;1);GAUCHE(A2;TROUVE("/";A2)-1)))



ROGER2327
#6380


Dimanche 15 Décervelage 140 (Conscience d’Ubu - fête Suprême Tierce)
23 Nivôse An CCXXI, 7,6431h - fer
2013-W02-6T18:20:37Z
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Suite...


... si on a le droit d'utiliser une fonction personnalisée :​
VB:
Function toto(r$)
'Application.Volatile
Dim a&, b&, x
    x = Split(r, "/")
    With WorksheetFunction
        Select Case UBound(x)
        Case 0: toto = CLng(x(0))
        Case 1
            a = CLng(x(0))
            b = (a \ (10 ^ Len(x(1)))) * (10 ^ Len(x(1))) + CLng(x(1))
            If .IsOdd(a) And .IsEven(b) Then
                toto = a
            ElseIf .IsOdd(b) And .IsEven(a) Then
                toto = b
            Else
                toto = ""
            End If
        Case Else: toto = ""
        End Select
    End With
End Function
Reste des cas à préciser : par exemple, que fait-on avec 530/9 ?​


ROGER2327
#6381


Dimanche 15 Décervelage 140 (Conscience d’Ubu - fête Suprême Tierce)
23 Nivôse An CCXXI, 7,8877h - fer
2013-W02-6T18:55:50Z
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Encore une formule qui répond à ma demande ! Finalement, je commence à avoir l'embarras du choix...

"Reste des cas à préciser : par exemple, que fait-on avec 530/9 ?"
Réponse : il faut écrire 539.

Quant à la fonction toto(r$), je vais maintenant tenter de l'intégrer dans mon classeur.

A plus tard,
gozi
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Re...


(...)

Quant à la fonction toto(r$), je vais maintenant tenter de l'intégrer dans mon classeur.

(...)
Ca n'est pas compliqué, mais pas sûr que ce soit plus intéressant qu'une formule Excel.
Un essai dans le classeur joint avec quelques exemples biscornus...​



ROGER2327
#6382


Dimanche 15 Décervelage 140 (Conscience d’Ubu - fête Suprême Tierce)
23 Nivôse An CCXXI, 9,7593h - fer
2013-W02-6T23:25:20Z
 

Pièces jointes

Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Bonjour à tous, bonjour Roger2327, Modeste, Gozi

Re-bonjour (voire re²),
... mais elle implique que le cas suivant n'est pas possible: 1234/3 (ou alors quelque chose m'échappe, une fois de plus! 😱)?

d'où ma phrase "Peut-être peux tu essayer avec...", la liste d'exemples étant trop courte pour être sûre de la polyvalence de la formule.

@ plus
 
Re : Comment convertir les nombres à double parité en nombres strictement impairs ?

Bonjour le fil,

@CISCO: mon intervention à moi débutait par:
Je m'incline évidemment avec respect face à la proposition de CISCO
... et rien n'a changé, depuis lors (... au point que j'en suis tout courbattu!)

Ce que j'interrogeais, c'était la "représentativité" des exemples fournis: ROGER2327 (que je salue avec le même respect) a trouvé d'autres cas peu clairs et gozi s'en est expliqué, depuis.
Quant à ta proposition, elle me laisse toujours aussi béat!
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.
Retour