Transformer le contenu d'une cellule en VBA

Résolu
Utilisateur anonyme -  
 Utilisateur anonyme -
Bonjour,

Mon problème est assez simple et j'espère que vous pourrez m'aider.
J'ai un tableau rempli de valeurs du type "24.5165" que je voudrais transformer en "25%", grâce à une macro.

Pour l'instant, j'ai changé le type de format de mes cases en faisant cela :

Dim dercol20 As Byte 
Dim derline20 As Byte 
dercol20 = Range("B4").End(xlToRight).Column 
derline20 = Range("B4").End(xlDown).Row 

Dim k20 As Byte 
Dim h20 As Byte 

For k20 = 6 To dercol20 - 1 
For h20 = 4 To derline20 
Cells(h20, k20).Select 
With Selection 
.NumberFormat = "0" 
End With 
Next 
Next


Ce que je pensais faire après c'était quelquechose du style
Cells(h20,k20).Value = Cells(h20,k20).Value + "%" 


Cependant, ça ne marche pas et je pense que c'est notamment parce que maintenant mon format de case est défini comme un nombre.

Qu'en pensez-vous ?
Comment je peux faire ?

Merci d'avance pour votre aide

3 réponses

chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Bonjour,

j'ai essayé avec le signe + ça n'a pas marché, mais essaie plutôt avec le signe &, c'est normalement le signe de concaténation en VBA.

Cordialement.
0
Utilisateur anonyme
 
Effectivement, le 1 marche mieux ! Merci déjà

Mais je ne suis pas sorti d'affaire.
Le problème c'est qu'à la place de 24.51 il va m'écrire 24.51% et non 25%.

J'ai essayé Cells(a,b).Value=Int(Cells(a,b).Value & "%" mais j'ai une erreur (incompatibilité de type)...

Une idée ?

Merci
0
chossette9 Messages postés 4239 Date d'inscription   Statut Contributeur Dernière intervention   1 311
 
Problème de parenthèses ^^
Cells(a,b)=Int(Cells(a,b)) & "%"


conviendra mieux.

D'aileurs, j'ai appris il y a pas si longtemps que ça qu'écrire Cells(a,b).Value et Cells(a,b) donne le même résultat car ".Value" est la propriété par défaut affectée à Cells ou à Range.
0
Utilisateur anonyme
 
Au temps pour moi, ça fonctionne

Il faut supprimer la première partie de code que j'avais donné.
C'est à dire qu'il ne faut pas transformer le format de la cellule avant.
En fait c'est tout à fait logique...

Merci chossette en tous cas !

Sujet résolu
0