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

  1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
     
    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
  2. 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
    1. chossette9 Messages postés 6855 Date d'inscription   Statut Contributeur Dernière intervention   1 313
       
      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
  3. 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