Extraction de valeur numérique d'une chaîne. [Résolu)

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

GCogaulois

XLDnaute Nouveau
Bonjour à tous et à toutes,

Je reviens vers vous après de longues recherches infructueuses.

Quelqu'un pourrait-il m'indiquer dans quel direction partir pour supprimer les trois derniers chiffres d'une chaîne numérique, et reprendre le reste entre parenthèses.
Exemple ligne 1 : dans une colonne "B" j'ai le nombre 65392, je souhaite le résultat (65) en colonne "E",
ou encore ligne 2 : en colonne "B" le nombre 4368, je souhaite le résultat (04) en colonne "E".

Mon but final est de concatener le résultat obtenu avec les valeurs de la colonne "A". Celle-si est un ensemble de valeur alphanumérique.
Exemple ligne 1 : colonne "A" blablabla, colonne "B" 65392, je souhaite le résultat : blablabla (65),
ou encore ligne 2 : colonne "A" blobloblo, colonne "B" 4368, je souhaite le résultat : blobloblo (04).

Le fichier sur lequel je travaille consiste en la mise en forme d'une base de données, comprenant 38000 lignes et 20 colonnes. Il est trop volumineux pour être posté, mais si nécessaire je peux en faire un extrait.

Merci d'avance pour votre aide.
GCogaulois.
 
Dernière édition:
Re : Extraction de valeur numérique d'une chaîne.

Bonjour Papou-net,

Un grand merci pour la réponse.

Mes connaissances en VBA ne m'aurait pas permis d'arriver jusque là. Pour que je puisse adapter ces lignes à mon fichier réel, sans vouloir abuser pourrait-tu commenter ce code s'il te plait ?

D'avance merci, cordialement.
GCogaulois.
 
Re : Extraction de valeur numérique d'une chaîne.

Bonjour JHA,

Un grand merci pour ta réponse.

Toute mes excuses, je me suis arrêté au premier retour avant de voir la suite. Je garde ta formule en mémoire. Et promis la prochaine fois je lirais toutes les réponses avant de répondre en une fois à tous le monde.

Encore merci, cordialement.
GCoGaulois.
 
Re : Extraction de valeur numérique d'une chaîne.

Bonjour à tous,

GCogaulois,

Pour répondre à ta demande, voici une copie du fichier avec le code commenté.

Bonne journée.

Cordialement.
 

Pièces jointes

Re : Extraction de valeur numérique d'une chaîne.

Bonjour,

Encore une fois un grand merci, je regarde et j'adapte ces lignes à mon fichier.
Le fichier, déjà joint, correspond exactement à ce que je souhaitais réaliser.

Cordialement.
GCogaulois.
 
Re : Extraction de valeur numérique d'une chaîne.

Bonsour® à tous
Toute mes excuses, je me suis arrêté au premier retour avant de voir la suite. Je garde ta formule en mémoire. Et promis la prochaine fois je lirais toutes les réponses avant de répondre en une fois à tous le monde.

récap de mes excellents prédécesseurs 😎
que faire lorsque la chaine numérique comporte moins de 4 chiffres ???

ex : Blablabla 123
- solution JHA : blablabla ()
- solution Papou-net : plantage 🙁
- ma proposition : blablabla (00)
 

Pièces jointes

Re : Extraction de valeur numérique d'une chaîne.

Bonsoir le fil,

Pas de plantage chez moi, juste affichage de deux parenthèses vides. Maintenant, s'il faut afficher les deux zéros, voici, pour info, comment récupérer mon code:

Code:
Sub MacroExemple()
' cette instruction désactive le rafraîchissement d'écran pour améliorer la rapidité d'exécution
Application.ScreenUpdating = False

' toutes les références de cellules précédées d'un point s'appliquent à Feuil1, ce qui évite de sélectionner la feuille
With Feuil1

  ' cette boucle lit toutes les cellules de la colonne A qui contiennent des valeurs (attention, les formules ne sont pas prises en compte)
  For Each cel In .Range("A:A").SpecialCells(xlCellTypeConstants)
    
    ' si la cellule n'est pas vide
    If cel <> "" Then
      ' la cellule située sur la 4ème colonne à droite (E) et sur la même ligne est égale à la concaténation
      ' de la cellule en A (cel) + les chiffres de gauche de la cellule en B, formatés avec zéro à gauche
      If Len(cel.Offset(0, 1)) < 4 Then n = 0 Else n = CInt(cel.Offset(0, 1) / 1000)
      cel.Offset(0, 4) = cel & " (" & Format(n, "00") & ")"
    End If
  Next
End With

' rétablit le rafraîchissement d'écran
Application.ScreenUpdating = True
End Sub
Cordialement.
 
Re : Extraction de valeur numérique d'une chaîne.

Bonsour®
Bonsoir le fil,

Pas de plantage chez moi, .

🙄
chez moi l'option EXPLICIT est de rigueur ... 😉

je ne doute nullement des solutions proposées ...

ce qui n'est pas le cas de la demande envoyée par GCogaulois qui elle, est insuffisamment "Explicite" ...🙄
que faire lorsque la chaine numérique comporte moins de 4 chiffres ???
 
Re : Extraction de valeur numérique d'une chaîne.

Bonjour tout le monde,

Franchement un grand merci à tous, sans vous je ne serai pas arrivé au bout.

Ce problème est résolu, tout a très bien fonctionné.

Le défi que je me suis lancé avec la réalisation de cette base de données me cause beaucoup de souci. Je ne sais toujours pas si je pourrais arriver au bout, mais vos lumières et votre aide m'y encourage.

Encore une fois un grand merci.
GCogaulois.

PS : Est à moi de déclarer ce problème comme [résolu] et si oui comment dois-je procéder afin de fermer cette discussion ?
 
Re : Extraction de valeur numérique d'une chaîne.

Bonjour GCogaulois,

Est à moi de déclarer ce problème comme [résolu] et si oui comment dois-je procéder afin de fermer cette discussion ?
Effectivement, c'est à toi de noter ce fil comme résolu.

Il te suffit pour celà d'éditer tyon message d'origine et d'ajouter la mention dans le titre.

A +

Cordialement.
 
Re : Extraction de valeur numérique d'une chaîne.

Bonsour® GCogaulois
Effectivement, c'est à toi de noter ce fil comme résolu.
Il te suffit pour celà d'éditer tyon message d'origine et d'ajouter la mention dans le titre.

🙄
éventuellement aussi préciser la solution retenue ...
que faire lorsque la chaine numérique comporte moins de 4 chiffres ???
les 2 frustrés restant ne seront plus dans l'expectative ...😉
 
Re : Extraction de valeur numérique d'une chaîne.

Bonjour,

Pour répondre au commentaire de geedee
Ma série de chaîne numérique ne comporte que des nombres à 4 et 5 chiffres comme le montrait les deux exemples du premier message. Désolé, pas de commentaire à ajouter !
Les différentes réponses proposées sont amplement satisfaisantes pour moi, et si je peux me permettre une petite remarque Geedee, ne compte pas sur moi pour prendre parti pour les uns ou les autres. Néophyte en la matière, mes connaissances en VBA sont beaucoup trop faibles pour que je puisse me priver de l'aide de tous, y compris la tienne sans vouloir "frustrer !!!" ton esprit de compétition ,car j'espère qu'il ne s'agit que d'un jeu entre vous !!!

Sincèrement et très respectueusement encore merci au forum !!!
GCogaulois.
 
Re : Extraction de valeur numérique d'une chaîne.

Bonsour®
Ma série de chaîne numérique ne comporte que des nombres à 4 et 5 chiffres comme le montrait les deux exemples du premier message. Désolé, pas de commentaire à ajouter !
🙄
dans tout problème, il convient d'en exprimer les limites ...
dire alors que les deux exemples étaient exhaustifs et préciser que la chaîne numérique comporte toujours des nombres à 4 ou 5 chiffres , eu été satisfaisant...
j'espère qu'il ne s'agit que d'un jeu entre vous !!!
Sincèrement et très respectueusement encore merci au forum !!!
GCogaulois.
😉 tu l'aura alors remarqué, c'est souvent le cas ...
et c'est l'émulation qui fait que l'on prend plaisir à peaufiner une proposition, ou en comparer les avantages ou inconvénients.

Après des années... d'utilisation d'Excel, il m'arrive encore de découvrir des utilisations ou trucs étonnants aussi bien de la part de néophytes que d'experts.

@+
 
Dernière édition:
- 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
6
Affichages
208
Retour