Articles

Pourquoi votre formule Excel ne calcule-t-elle pas ?

Fb-Button

Dans cet article, nous allons apprendre Pourquoi votre formule Excel ne calcule-t-elle pas ?.

Scénario:

Plusieurs fois, comme lorsque nous extrayons des chiffres d’une chaîne de caractères, ils sont du texte par propriété. On ne peut pas faire d’opérations sur les nombres. Alors on a le besoin de convertir ce texte en nombre. Pour convertir un texte en un nombre, nous pouvons adopter différentes approches selon la situation. Jetons un coup d’œil à ces approches…

Utiliser la fonction VALUE pour convertir le texte en nombre

Si vous avez téléchargé des données de somme à partir d’un site Web, il est courant d’obtenir certains nombres comme format texte des dates spéciales. Il suffit d’envelopper ces textes dans une fonction VALUE. Elle retournera un nombre pur.

Syntaxe de la fonction VALUE

=VALUE(texte)

So pour convertir un texte dans la cellule B2 en nombre écrivez cette formule VALUE.

=VALUE(B2)

Ajouter 0 au texte pour convertir le texte en nombre

Si vous ajoutez un nombre quelconque en utilisant l’opérateur + à un nombre formaté en texte, il convertira le texte en nombre, puis ajoutera le nombre donné au nombre converti. Enfin, le résultat sera un nombre.

Par exemple, s’il y a un nombre formaté en texte dans B4, il suffit d’ajouter 0 pour convertir la chaîne en nombre.

=B4+0

Le résultat sera un nombre à coup sûr.

Comme je vous l’ai dit au début, ce problème se produit lorsque nous extrayons des nombres à partir de chaînes de caractères. Donc si vous voulez que le texte extrait soit numéroté il suffit d’ajouter 0 à la fin.

Par exemple je suis en train d’extraire le citycode du texte B6. Je l’ai extrait en utilisant la fonction LEFT. Mais ce n’est pas un nombre alors j’ai ajouté un 0 dans la formule elle-même.

=LEFT(B6,6)+0

Utilisation de la notification d’Excel pour convertir le texte en nombre

Dès qu’un nombre se présente sous la forme d’un texte, Excel vous en informe en affichant un coin vert de la cellule.

Lorsque vous cliquez sur la cellule, il affiche une petite icône d’exclamation dans le coin gauche de la cellule.

Lorsque vous cliquez dessus, il affiche une option de conversion en nombre. Cliquez dessus et le texte sera converti en nombre.

Convertir du texte en nombre à l’aide de VBA
Donc, si vous avez une plage fixe que vous voulez convertir en texte, utilisez ce snippet VBA.

Sub ConvertTextToNumber() Range("A3:A8").NumberFormat = "General" Range("A3:A8").Value = Range("A3:A8").ValueEnd Sub

Lorsque vous exécutez le code ci-dessus, il convertit le texte de la plage A3:A8 en texte.
Ce code peut sembler plus élégant si nous l’écrivons comme ceci.

Sub ConvertTextToNumber() With Range("A3:A8") .NumberFormat = "General" .Value = .Value End WithEnd Sub

Comment cela fonctionne-t-il ?

Eh bien, c’est assez simple. Nous changeons d’abord le format des chiffres de la plage en général. Ensuite, nous mettons la valeur de cette plage dans la même plage en utilisant VBA. Cela supprime complètement le formatage du texte. Simple, n’est-ce pas ?

Changer le nombre de formatage d’une plage dynamique

Dans le code ci-dessus, nous avons changé le texte en nombre dans le code ci-dessus d’une plage fixe mais ce ne sera pas le cas la plupart du temps. Pour convertir le texte en nombre de plages dynamiques, nous pouvons évaluer la dernière cellule utilisée ou sélectionner la plage de manière dynamique.

Voici à quoi cela ressemblerait :

Sub ConvertTextToNumber()With Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row).NumberFormat = "General" .Value = .ValueEnd With

Ici, je sais que la plage commence à partir de A3. Mais je ne sais pas où elle peut se terminer.

J’identifie donc dynamiquement la dernière ligne Excel utilisée qui contient des données à l’aide du snippet VBA Cells(Rows.Count, 1).End(xlUp).Row. Il renvoie le numéro de la dernière ligne utilisée que nous concaténons avec « A3:A ».

Note : Ce snippet VBA fonctionnera sur le classeur actif et la feuille de calcul active. Si votre code passe par plusieurs feuilles, il serait préférable de définir un objet de plage de la feuille de calcul prévue. Comme ceci

Sub ConvertTextToNumber() Set Rng = ThisWorkbook.Sheets("Sheet1").Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row) With Rng .NumberFormat = "General" .Value = .Value End WithEnd Sub

Le code ci-dessus changera toujours le texte en numéro de la feuille1 du classeur qui contient ce code.

Loop et CSng pour changer le texte en numéro

Une autre méthode consiste à boucler sur chaque cellule et à changer la valeur de la cellule en numéro en utilisant la fonction CSng. Voici le code.

Sub ConvertTextToNumberLoop() Set Rng = ThisWorkbook.Sheets("Sheet1").Range("A3:A" & Cells(Rows.Count, 1).End(xlUp).Row) For Each cel In Rng.Cells cel.Value = CSng(cel.Value) Next celEnd Sub

Dans le snippet VBA ci-dessus, nous utilisons la boucle For de VBA pour itérer sur chaque cellule de la plage et convertir la valeur de chaque cellule en un nombre en utilisant la fonction CSng de VBA.

Alors oui les gars, voilà comment vous pouvez changer des textes en nombres dans Excel en utilisant VBA. Vous pouvez utiliser ces snippets pour préparer votre feuille de calcul avant de faire une opération sur les nombres. J’espère avoir été suffisamment explicatif. Vous pouvez télécharger le fichier de travail ici.

Changer du texte en nombre en utilisant VBA.

J’espère que cet article sur Pourquoi votre formule Excel ne calcule-t-elle pas est explicatif. Retrouvez d’autres articles sur le calcul des valeurs et les formules Excel associées ici. Si vous avez aimé nos blogs, partagez-les avec vos amis sur Facebook. Vous pouvez également nous suivre sur Twitter et Facebook. Nous aimerions avoir de vos nouvelles, faites-nous savoir comment nous pouvons améliorer, compléter ou innover notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected].

Articles connexes :

Comment obtenir du texte & Nombre inversé grâce à VBA dans Microsoft Excel : Pour inverser le nombre et le texte, nous utilisons des boucles et la fonction mid dans VBA. 1234 sera converti en 4321, « you » sera converti en « uoy ». Voici le snippet.

Formater les données avec des formats de chiffres personnalisés en utilisant VBA dans Microsoft Excel : Pour changer le format de chiffres de colonnes spécifiques dans excel, utilisez ce snippet VBA. Il convertit le format des nombres de spécifié en format spécifié en un clic.

Articles populaires :

Comment utiliser la fonction IF dans Excel : L’instruction IF dans Excel vérifie la condition et renvoie une valeur spécifique si la condition est VRAIE ou renvoie une autre valeur spécifique si elle est FAUSSE.

Comment utiliser la fonction VLOOKUP dans Excel : C’est l’une des fonctions les plus utilisées et les plus populaires d’excel qui sert à rechercher une valeur dans différentes plages et feuilles.

Comment utiliser la fonction SUMIF dans Excel : C’est une autre fonction essentielle du tableau de bord. Elle vous aide à additionner des valeurs sur des conditions spécifiques.

Comment utiliser la fonction COUNTIF en Excel : Comptez les valeurs avec des conditions en utilisant cette fonction étonnante. Vous n’avez pas besoin de filtrer vos données pour compter des valeurs spécifiques. La fonction COUNTIF est indispensable pour préparer votre tableau de bord.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *