extraire un caractère

  • Initiateur de la discussion Initiateur de la discussion jeffe
  • 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 !

jeffe

XLDnaute Impliqué
Bonjour à tout le monde.
Je cherche à extraire le premeir caractère sur une chaine numèrique et le placer dans une cellule puis extraire le second et le placer dans une autre cellule et ainsi de suite (pour une chaine de 4 caractères)
j'ai un problème avec le fonction stxt
Peut etre que ce n'est pas la bonne solution.
 

Pièces jointes

Re : extraire un caractère

Bonsoir,

Voici ce que cela donne chez moi, il me semble que STXT marche... En revanche, je ne connais pas ta fonction (MIDB). Est ce STXT en anglais ?.

Bon courage.


Edition : en effet, je viens de vérifier que les sommes des chiffres trouvés avec STXT ne fonctionnent pas...

Vite un ZOPPPPPPPPPPPP. Heureusement que jeanmarie veillait !
 

Pièces jointes

Dernière édition:
Re : extraire un caractère

Bonsoir

formules :

J12 =DROITE($F12;1)
I12 =DROITE(ARRONDI($F12/10;0);1)
H12 =DROITE(ARRONDI($F12/100;0);1)
G12 =DROITE(ARRONDI($F12/1000;0);1)

K12 =1-EST.PAIR(G12+H12+I12+J12)*1

A essayer et tirer vers le bas
 
Re : extraire un caractère

Bonjour,

Un essai, en se passant des 4 premières colonnes,
la somme des chiffres composant le nombre :
=SOMMEPROD(STXT(F12;LIGNE(INDIRECT(1&":"&NBCAR(F12)));1)*1)

Somme paire ou impaire :
=MOD(SOMMEPROD(STXT(F12;LIGNE(INDIRECT(1&":"&NBCAR(F12)));1)*1);2)

Si on ne prend pas en compte les nombres de moins de 4 chiffres :
=SI(NBCAR(F12)<4;"";MOD(SOMMEPROD(STXT(F12;LIGNE(INDIRECT(1&":"&NBCAR(F12)));1)*1);2))
 

Pièces jointes

Re : extraire un caractère

je ne sais pas non plus si cela marche, personnellement j'utilise des macros ce qui pourrais donner cela


Dim i As String


activecell.value=i

a = Left(i, 1)
ActiveCell(1, 2).Value = a
'ici cela depend de ou tu veux les mettre, la je met chaque chiffre dans une colonne a cote des nombres,

a = Right(Left(i, 2), 1)
ActiveCell(1, 3).Value = a

a = Left(Right(i, 2), 1)
ActiveCell(1, 4).Value = a

a = Right(i, 1)
ActiveCell(1, 5).Value = a

End Sub


Normalement cela marche mais que pour une chainede 4 caractere, vu que tu connaissais la taille....
 
Re : extraire un caractère

Bonsoir

Bon, j'espère ne pas dire une ânerie 😱... mais moi je tenterais bien la formule suivante :
=EST.IMPAIR(NBCAR(SUBSTITUE(DECBIN(E12;4);"0";"")))*1
à tirer vers le bas...
ce qui, sauf erreur de ma part, devrait permettre de se passer de toutes les colonnes intermédiaires.

Cordialement,
 

Pièces jointes

Re : extraire un caractère

Bonsoir à tous,

dans la famille "pourquoi faire simple..." et puisque ça n'est pas l'objet de ta question, voici une autre proposition de calcul de ta parité, sans colonnes intermédiaires :
=(X-15)*(X-14)*(X-13)*(X-12)*(X-11)*(X-10)*(X-9)*(X-8)*X*(X-5)*(X-6)*(X-3)*((X-2)*(X-4)*(X-7)/87178291200-(X-1)*(X-4)*(X-7)/12454041600-(X-1)*(X-2)*(X-7)/958003200+(X-1)*(X-2)*(X-4)/203212800)+X*(X-1)*(X-2)*(X-3)*(X-4)*(X-5)*(X-6)*(X-7)*(X-15)*(X-12)*(X-10)*(X-9)*(-(X-11)*(X-13)*(X-14)/203212800+(X-8)*(X-13)*(X-14)/958003200+(X-8)*(X-11)*(X-14)/12454041600-(X-8)*(X-11)*(X-13)/87178291200)

ça fonctionne pour des entiers naturels de 0 à 15.

si tu te limites aux entiers naturels dont la représentation binaire est sur 4 bits, ça se simplifie énorrrmément :
=(X-15)*(X-12)*(X-10)*(X-9)*(-(X-11)*(X-13)*(X-14)/5040+(X-8)*(X-13)*(X-14)/144+(X-8)*(X-11)*(X-14)/240-(X-8)*(X-11)*(X-13)/720)

et là, ça fonctionne pour des valeurs de 8 à 15.

Cordialement

PS & NB : le X correspond à ta valeur décimale.
 
Re : extraire un caractère

bonjour à vous tous et toutes.
un grand merci pour votre aide precieuse, ça correspond exactement à ce que je souhaitais.

La fonction MIDB semble etre l'équivalent de STXT.

bonne journée à tout le monde et merci
ODVJ je vais regarder ta formule car la j'ai pas tous compris...
 
Re : extraire un caractère

Bonjour,

cette formule est un "clin d'oeil polynômial" qui prend les valeurs 0 pour X=0, 3, 5, 6, 9, 10, 12 et 15 et la valeur 1 pour X=1, 2, 4, 7, 8, 11, 13 et 14.

Ca correspond donc à la parité des nombres de 0 à 15.

cordialement
 
Re : extraire un caractère

Bonjour,
J'aurais le même problème mais je souhaiterais extraire un caractère (ou plusieur caractère) dans le milieu d'une cellule. Autrement dit, pas celui à l'extrême gauche ou celui à l'extrême droite. 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

Réponses
5
Affichages
1 K
Retour