Transformer le contenu d'une cellule en VBA

Résolu
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

  1. Contributeur
    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
    1. 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
      1. Contributeur
        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
    2. 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