[EXCEL] bug nombre non numériques (matrices)

bug nombre non numériques (matrices) [EXCEL] - Logiciels - Windows & Software

Marsh Posté le 02-05-2007 à 12:17:02    

Bonjour,
 
Sous Excel je me sers de matrices pour compter les enregistrements d'une table suivant certains critères.
 
ex : {SOMME(A1:A10='rouge')*(B1:B10='ballon')*(C1:C10=10}
 
Dans cet exemple ça compterait le nombre de lot de 10 ballons rouges.
 
Pour que la matrice C1:C10 renvoie VRAI il faut qu'elle trouve la valeur numérique 10, dixit l'aide sous Excel.
Les données de ma table proviennent de copier/coller et je la rafraichie également de cette manière.
 
Hors il arrive qu'une valeur 10 dans ma colonne C1:C10 ne soit pas interprétée comme numérique (que le format nombre soit appliqué à la celulle ou non). C'est d'autant plus flagrant quand j'édite manuellement ma cellule et que je tappe 10 moi même, là ça marche.
Il n'y a pourtant aucun espace ou caractère spécial (insécable, retour ligne...) qui accompagne ce nombre lors du copier. Pour preuve si je sélectionne l'ensemble de ma colonne et que je fais remplacer '10' par '10', tous mes 10 deviennent numériques !  [:petrus75]  
 
Il doit y avoir un problème de code page lors de mon copier coller. Mais j'aurais cru qu'à partir du moment que ma cellule était définie comme nombre il aurait tout interprété en numérique.
 
Qu'est-ce que c'est que ce bins? une idée?
 
Merci.  

Reply

Marsh Posté le 02-05-2007 à 12:17:02   

Reply

Marsh Posté le 03-05-2007 à 12:12:22    

Problème de format de cellule ?

Reply

Marsh Posté le 03-05-2007 à 13:55:31    

Et non, comme je dis plus haut mes cellules sont bien au format nombre.
 
Mais j'ai davantage cherché sur le net et mon problème est connu et c'est en quelque sorte une fonctionnalité d'Excel.
Mes données venant d'un fichier texte, mes nombres sont interprétés comme des alphanumériques et non comme des numériques purs.
Ce n'est pas dérangeant lors de simples opérations genre =A1+A2 mais mes matrices distinguent un '10' alpha d'un 10 num.
 
Dans mon cas, étant donné que je ne fais que compter des enregistrements dans ma table je n'ai juste qu'à ajouté les alpha aux num et j'aurai le bon résultat. Mais ce qui est dommage c'est que je n'ai pas trouvé un moyen de forcer ma colonne en numérique tout simplement.
 
A l'avenir je dois de toute façon automatiser l'intégration de mes données, j'en profiterai pour modifier grace à VB leur format en numérique.
 
PS : Excel permet de saisir un nombre en tant qu'alpha. Taper juste une ' avant votre chiffre et il sera interprété comme tel. Je n'ai pas trouvé la methode inverse.

Reply

Marsh Posté le 03-05-2007 à 14:06:41    

Ben justement, c'est une question de format, qui est non pas numérique mais texte !
Si tu sélectionnes ta cellule(colonne) et que tu fais Clic droit/Format de cellule, puis que tu choisis Standard, ça devrait marcher.

Reply

Marsh Posté le 03-05-2007 à 16:12:55    

Bonjour
 
Oui c'est un probleme connu d'excel.
 
Solution 1:
Se faire une boucle en VBA qui teste la valeur de tes cellules et si'il n'y a que du numérique, bah ... les faire ressaisir... lol
Essaies ca

Sub Format()
    On error resume next
 
    LD = 1 'ligne de depart
    LF = 10 'ligne de fin
    C = 3 'Colonne de recherche
 
    For x = LD To LF
     
        Cells(x, C).Value = CLng(Cells(x, C).Value)
     
    Next x
End Sub


 
Solution 2:
Passer par des 'variables'
Mettre 10 en E1 (par ex, vu que tes ref commencent en A1)
{SOMME(A1:A10='rouge')*(B1:B10='ballon')*(C1:C10=$E$1)}

 
Cordialement


Message édité par SuppotDeSaTante le 03-05-2007 à 16:40:09

---------------
Soyez malin, louez entre voisins !
Reply

Marsh Posté le 03-05-2007 à 16:14:45    

Idoine a écrit :

Ben justement, c'est une question de format, qui est non pas numérique mais texte !
Si tu sélectionnes ta cellule(colonne) et que tu fais Clic droit/Format de cellule, puis que tu choisis Standard, ça devrait marcher.


 
Ca dépend d'ou provient la source. Des fois oui, et des fois tu es obligé d'entrer dans la cellule pour que le nouveau format soit pris en compte (Pb d'alphanumérique)
 
Cordialement


---------------
Soyez malin, louez entre voisins !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed