Cellules Excel avec apostrophe

Bonjour,

J'utilise Excel dans le cadre de compétitions en tant que bénévole.

J'ai plusieurs feuilles Excel, la première est intitulée SCORES et je reçois des données brutes issues par import je pense de fichiers de données csv ou pdf.

Toutes ces données vont dans 5 colonnes et 15 lignes, et devant chaque données, j'ai un apostrophe.

EXEMPLE en

A1 '8.50 B1 '6.50

A2 '7.75 B2 '5.50

A3 '6.50 B3 '7.50

.....

Les données peuvent être avec . ou ,

Les données sont envoyées dans une feuille de traitement par liaison.

Il s'avère que les calculs sont faux, comment rendre les cellules de la feuille SCORES numériques pour que mes calculs soient justes.

J'ai toute essayé en voulant supprimer l'apostrophe par:

Rechercher et remplacer : rien n'y fait

Changer les propriétés des cellules en numériques

Chercher sur internet des macro proposées

Je suis dans l'impasse, si je retape chaque cellule les calculs sont bons mais j'ai plus de 1200 cellules de remplis, donc fastidieux.

Avez vous une solution ?

Cordialement

Yves

Bonjour,

Vous pouvez récupérer la valeur d'un texte avec la fonction CNUM (CNUM, fonction) - Support Microsoft

Ainsi si A1 vaut ['8,5], =CNUM(A1) vous renvoie le nombre 8,5. Vous pouvez ensuite reprendre vos calculs normalement.

Alternativement je pense qu'une conversion de types dans powerquery pourrait résoudre votre problème.

Bonjour,

La fonction CNUM fonctionne parfaitement et je te remercie.

Mais difficile à mettre en œuvre, en effet, mes données sont fournies automatiquement et envoyées dans une autre feuille protégée pour traitement comme sur l'image suivante

image

Les données en jaunes sont fournies avec le fichier et envoyée directement dans la feuille Overrides, il faudrait que les jaunes soient numériques et là elles sont en texte, et comment utiliser CNUM, sans passer par une feuille intermédiaire qui transforme les données et les envoie dans la feuille Overrides qui est protégée

Je précise que j'ai 25 séries de notes

Cordialement

Bonjour,

Vous pouvez utiliser la fonction collage spécial à votre avantage :

  1. Selectionnez la plage qui pose problème
  2. Copiez (ctrl+c)
  3. Appuyez sur CTRL+ALT+V (collage spécial)
  4. Sélectionnez "Valeurs" et "Ajouter" comme sur le screenshot ci-après image

(via l'excellent site Excel: convert text to number with formula and other ways)

Autrement je peux vous écrire une macro.

Bonjour, j'avais essayé le copié coller, mais cela m'oblige d'ouvrir une feuille et de coller toutes les différente données et ensuite les remettre dans la feuille SCORES car ensuite elles sont traitées comme je l'ai expliqué dans une feuille protégée ou je n'ai pas le mot de passe.

Ton idée de macro est bien, mais il faudrai la lancer pour convertir ces données en jaunes en numériques pour qu'elles soient traitées dans la feuille Overrides qui est protégée par Mot de pass.

Cordialement

Le problème c'est qu'une macro risque d'etre lente car il faut vraiment gérer cellule par cellule. Mais, n'est il pas possible d'importer vos valeurs dans une autre feuille, par exemple "ImportScores", et de remplacer les valeurs de la feuille Score par une formule du type =CNUM(ImportScores!A1) ?

Ainsi la feuille verouillée a accès à des nombres, et vous vous n'avez rien à faire à par éditer la feuille d'import. C'est instantané et sans erreurs. Je ne comprends pas trop pourquoi vous ne voulez pas ajouter de feuille, ça vous complique la vie pour rien.

Autrement une macro peut etre MAIS ATTENTION C'EST LENT :

Sub Macro1()

  Application.ScreenUpdating = False
  Application.Calculation = xlCalculationManual
  Dim matrice As Range, c As Range
  Set matrice = ThisWorkbook.Worksheets(1).UsedRange

  For Each c In matrice
    c.Copy
    c.PasteSpecial xlPasteValues, xlPasteSpecialOperationAdd
  Next c
  Application.ScreenUpdating = True
  Application.Calculation = xlCalculationAutomatic
End Sub

Bonsoir,
Tu as raison je ne voulais pas créer une feuille supplémentaire car les données sont séparées par du texte j'ai plus de 800 lignes suivant ce modèle

et ensuite je dois coller groupe par groupe, les données ne sont pas alignées, j'ai en moyenne 64 groupes de notes en fonction d'une compétition.

Mais si c'est la solution, je vais essayer CNUM et ta macro et je reviendrai vers toi

Cordialement

image

Bien, avec la feuille supplémentaire c'est faisable, mais c'est fastidieux, il faut faire 64 groupes de notes par copier coller, mais c'est possible.

Je voudrai bien essayer la macro, je l'ai créée, mais comment la paramétrer pour faire équipe par équipe ou les 5 colonnes alignées

Voir exemple suivant mais 32 Fois maximum dans l'onglet SCORES

Merci encore pour ton aide

image

Salut YG_LY,
Salut Saboh,

@Saboh : et un truc comme ça dans un tableau !?

Replace([A1], "'", "")

@YG_L

A+

Re,

comme je disais, par tableau.
Double-clic sur la feuille...

tTab = [A1:A20].Value
For x = 1 To 20
    tTab(x, 1) = Replace(tTab(x, 1), "'", "")
Next
[F1:F20].Value = tTab
7yg-ly.xlsm (15.15 Ko)

A+

Bonsoir,

Cette astuce fonctionne parfaitement, je vais l'adapter à ma feuille scores et je reviendrai si j'ai besoin de compléments.

Cordialement

Salut Curulis,

C'était ma première idée, mais ça ne fonctionnait pas sur les tests que j'avais fait. J'ai du mal m'y prendre. En tout cas si ça marche ce sera bien la solution la plus rapide. Félicitations pour la résolution du problème.

Bonjour,

J'ai donc ouvert une feuille, et utiliser la méthode de curulis57, mais en même temps sur un autre forum, j'ai eu l'astuce suivante qui est géniale pour des données en colonnes

Tu sélectionnes la colonne entière et :

Onglet Données - Convertir Délimité Suivant (Séparateur : tout décocher) Suivant Bouton Avancé Séparateur décimal : . OK

Tu fais ça sur les 5 colonnes et le tour est joué

Cordialement

Rechercher des sujets similaires à "apostrophe"