Bonjour ,

j'ai qq soucis concernant l'écriture de ma macropeut étre pourrait vous m'aider
-je cherche a copier une plage de données (format valeur) d'une feuil A dans une feuil B
- cette plage doit être mise en pourcentage (valeur comprise entre 0 et 1) mais avant cela transformer les points en virgule.

j'ai réussi a réaliser ces codes un par un mais je voudrais les combiner

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
'transformation des . en ,
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
'changement format
If Sheets("PSD").Range("PSD").NumberFormat <> "0.00%" Then
Sheets("PSD").Range("PSD").NumberFormat = "0.00%"
End If
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
'copier coller de la plage
Sheets("Feuil1").Range("d6:i1000").Delete
Worksheets("PSD").Range("PSD").Copy _
Destination:=Worksheets("Feuil1").Range("d6")
Columns("e:e").EntireColumn.AutoFit
En appuyant sur un boutons il faudrait que tout ces codes se réalise mais pour éviter l'apparition de message d'erreur il faudrait mettre des conditions permettant d’empêcher une fois les transformations : - passage . en ,
- et mettre en %
de relire ces codes.
En gros

if "passage . en ,"= fait then rien faire
else le faire
if "mettre en %"= fait then rien faire
else le faire
et enfin copier coller la page

mais étant débutant en VBA j'ai beaucoup de mal a essayer de coder ça.


je vous remercie si vous pourriez m'apporter une solution