multiplier chaque cellule de ma colonne par un nombre

Y compris Power BI, Power Query et toute autre question en lien avec Excel
j
jujudeo
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 30 mars 2016
Version d'Excel : 2007

Message par jujudeo » 30 mars 2016, 16:14

Bonjour a tous,

Je dois faire passer plusieurs colonnes du format pourcentage au format numéro afin d'enlever le % mais tout en gardant un chiffre entier ou decimal par ex : 18.4 % -> 18.4

Pour cela, j'ai déjà commencé a effectuer ma macro qui est celle-ci :
Sub Traitement()

Dim td As Worksheet
Dim taille As Range
 Set td = Worksheets("traitement date")
    With td
         Set taille = .Range("A2:P3")
         For Each cell In taille

            If InStr(1, cell.Text, "%") > 0 Then
            cell.EntireColumn.Rows("2:19").Select
            Selection.NumberFormat = "0.00"
            cell.Value= cell.Value * 100
            
            End If
            
        Next
   End With
    
End Sub
Au final, j'ai que ma première ligne qui ce change parfaitement(18.33), les suivantes (0.13 ; 0.18) qui devaient donner 13 ; 18 ne veulent pas se multiplier par 100 et je ne comprends pas pourquoi :? :?

En fichier joint, un extrait de mon tableau excel

En esperant trouver la solution, je vous remercie et je reste à votre disposition

Julien
suivi.xlsx
(34.15 Kio) Téléchargé 19 fois
Avatar du membre
d3d9x
Membre dévoué
Membre dévoué
Messages : 950
Appréciations reçues : 2
Inscrit le : 14 avril 2015
Version d'Excel : 2007

Message par d3d9x » 30 mars 2016, 16:45

Oulala Oulala Oulala Warning Danger Cancel Attention

Tu remplaces des formules par des valeurs en dur, et tu balayes toutes les colonnes c'est extrêmement bizarre et dangereux!!!
Je prend comme exemple ta colonne J:
J3 = SI(G3<>0;(I3/E3);"")
Il suffit de remplacer cela par:
J3 =SI(G3<>0;(I3/E3)*100;"")
Et ensuite appliquer ton format personnalisé!!!

Si tu veux absolument le faire par programmation
Sub nettoyage()
Dim maFeuille As Worksheet: Set maFeuille = ThisWorkbook.Sheets("traitement date")
For Each cellule In maFeuille.Range("J2:J19")
    cellule.FormulaR1C1 = "=IF(RC[-3]<>0,(RC[-1]/RC[-5])*100," & """""" & ")"
    cellule.NumberFormat = "0.00"
Next cellule
End Sub
“En temps de paix, les fils ensevelissent leurs pères ; en temps de guerre, les pères ensevelissent leurs fils. Sommes-nous en guerre Père?”
j
jujudeo
Jeune membre
Jeune membre
Messages : 13
Inscrit le : 30 mars 2016
Version d'Excel : 2007

Message par jujudeo » 30 mars 2016, 17:42

je fais ca car après j’insère ceci dans une base de données postgres SQL...

Mais merci beaucoup, je vais essayer avec ta formule :D
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message