Conversion texte en nombre

biarritz

XLDnaute Nouveau
Bonjour
J'extrait de données de SAP
J'ai besoin de faire un tableau croisé dynamique qui me donnerait la somme de Val2 et la somme de VAL1 pour A et B
Le probleme est que mes datas ne sortent pas sous forme de chiffre
Ce qui me donne 0 en valeur dans le Tableau Croisé dynamique
est ce que qq'un aurait une idée svp pour convertir les datas val1 et val2 en chiffre ou en nombre
MerciVoir fichier joint
 

Pièces jointes

  • Classeur4.xls
    8 KB · Affichages: 97
  • Classeur4.xls
    8 KB · Affichages: 112
  • Classeur4.xls
    8 KB · Affichages: 117

Tibo

XLDnaute Barbatruc
Re : Conversion texte en nombre

Bonjour,

Avant de traiter tes données, il faudrait leur faire subir un petit traitement pour les transformer en nombre :

Se placer sur une cellule vide
Faire un copier
Sélectionner tes données Nombre
et faire Collage Spécial - Addition

Ca va transformer tes nombres "texte" en nombre "nombre"

@+
 

tototiti2008

XLDnaute Barbatruc
Re : Conversion texte en nombre

bonjour biarritz,

voilà tout ce que j'ai trouvé :
je me suis placé en B2 et j'ai copié le dernier caractère dans la barre de formule (Ctrl+C) (ça ressemble à un espace mais ce n'est pas un espace)
J'ai sélectionné B2:C5
Menu Edition-Remplacer
Rechercher :
Ctrl+V (Coller)
Bouton Remplacer tout
 

job75

XLDnaute Barbatruc
Re : Conversion texte en nombre

Bonjour,
Le problème est assez vicieux, car Val1 et Val2 sont des chiffres suivis d'espaces non standard (code 160 au lieu de 32). Je ne vois qu'une petite macro pour supprimer ces espaces (s'il y en a beaucoup bien sûr).
A+
 

RENAUDER

Nous a quitté
Repose en paix
Re : Conversion texte en nombre

Bonjour,
Je te propose cela qui après des tests semble fonctionner
Attention dans la ligne
Cell.Value = Replace(Cell.Value, " ", "")
La partie " " n'est pas un espace mais le code ALT+255 (Espace en ASCII)
Code:
Sub Test()
    Range("A1").CurrentRegion.Select
    For Each Cell In Selection
        Cell.Value = Replace(Cell.Value, " ", "")
    Next Cell
End Sub
 

job75

XLDnaute Barbatruc
Re : Conversion texte en nombre

Re
La macro suivante supprime CAR(160) de la zone sélectionnée :
Code:
Sub SupCode160()
For Each cel In Selection
cel.Value = Replace(cel, Chr(160), "")
Next
End Sub
A+

Edit : désolé, manquait un .Value ...
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Conversion texte en nombre

Bonjour à tous,

j'explique la méthode de Tibo, il ne semble pas revenir :
Clique sur une cellule vide (n'importe laquelle)
Menu Edition - Copier
Sélectionne toutes les cellules qui doivent être numériques (B2:C5 dans l'exemple)
Menu Edition - Collage Spécial...
Coche Addition
Ok
Tes nombres sont vraiment devenus des nombres, il ne reste plus qu'à actualiser ton tableau croisé
 

JHA

XLDnaute Barbatruc
Re : Conversion texte en nombre

Bonjour Biarritz, le forum,

Je n'y connais pas grand chose en TCD mais voici un début de piste.

JHA

Edit: encore en retard, bonjour à tous.
 

Pièces jointes

  • Classeur4(1).xls
    13 KB · Affichages: 89
  • Classeur4(1).xls
    13 KB · Affichages: 92
  • Classeur4(1).xls
    13 KB · Affichages: 98

Xoomer

XLDnaute Nouveau
Re : Conversion texte en nombre

Bonjour à tous,
je suis nouveau ici, et je crois que le portail est celui que je cherchait.

voilà mon problème, j'ai crée un formulaire personnalisé dans excel, et quand j'appuis sur Validez un message d'erreur m'apparait, voir code VBA plus bas. En fait c'est que j'essaie de faire en sorte que quand je clique sur Validez les données du formulaire se transfert dans la feuille sous format Numérique (Monétaire) sans décimal. Afin de transformer les données texte en numérique j'ai essayé d'ajouter ceci dans mon code VBA

If Colonne > 0 Then Sheets("Base").Cells(derligne, Colonne) = ctrl * 1

voici le code complet

Private Sub CommandButton1_Click()

Dim ctrl As Control
Dim Colonne As Integer
Dim derligne As Integer

'derligne devient la ligne qui suit la derniere valeur du tableau
derligne = Sheets("Base").Range("A65000").End(xlUp).Row + 1

'balayage les control un par un avec le for... Next'
For Each ctrl In UserForm1.Controls

'La valeur de "colonne" est egale a la valeur du Tag du controls'
Colonne = Val(ctrl.Tag)

'Si la valeur du Tag>0 l'intersection n de derligne et n de colonne
'est une cellule qui contiendra la valeur "ctrl" cad celle contenu dans lel Control'
If Colonne > 0 Then Sheets("Base").Cells(derligne, Colonne) = ctrl * 1

'Next --> onpasse au control suivant
Next

End




End Sub


Pourriez-vous m'aider
Merci!
 

Dranreb

XLDnaute Barbatruc
Re : Conversion texte en nombre

Bonjour.

Essayez comme ça :
VB:
If Colonne > 0 Then
   On Error Resume Next
   Valeur = CCur(ctrl.Text)
   If Err Then
      MsgBox """" & ctrl.Text & """ ne peut être converti en valeur monétaire.", _
         vbExclamation, Me.Caption
      Valeur = Empty: End If
   On Error GoTo 0
   Worksheets("Base").Cells(derligne, Colonne) = Valeur
   End If
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
314 450
Messages
2 109 731
Membres
110 553
dernier inscrit
loic55