Aide Macro copier coller multiplier

ArnoC

XLDnaute Nouveau
Bonsoir à tous et à l'aide !!!

Dans ce petit fichier (qui me sert à comprendre pourquoi ma macro ne marche pas ...)
j'ai en colonne A des nombres qui sont au format Texte (très utile ...)
Pour les mettre en format nombre
j'ai créé une macro effectuant un copier coller multiplier (par 1)
le résultat : à la fin j'ai toujours mon format texte
en la parcourant pas à pas, je vois que tout va bien jusqu'à la fin
et à End sub tout revient à l'ancien format ...
j'ai oublié quelquechose ?

Merci à tous pour cette vilaine petite macro sur laquelle je suis depuis des heures...

Arno
 

Fichiers joints

DoubleZero

XLDnaute Barbatruc
Re : Aide Macro copier coller multiplier

Bonjour, ArnoC, le Forum,

Un essai :

Code:
Sub Pourcentage()
Application.ScreenUpdating = False
Range("b1:b" & Range("a65536").End(xlUp).Row) = "=RC[-1]*1"
With Columns("B:B")
    .NumberFormat = "0.00%"
    .Value = .Value
End With
Range(Range("b1"), Range("b1").End(xlDown)).Cut Destination:=Range("a1")
Application.ScreenUpdating = True
End Sub
A bientôt :)
 

ArnoC

XLDnaute Nouveau
Re : Aide Macro copier coller multiplier

Merci bcp
reste pour moi à comprendre la macro pour la mettre dans mon bon fichier ...
Tu n'as pas vu l'erreur dans MA macro ?
 

DoubleZero

XLDnaute Barbatruc
Re : Aide Macro copier coller multiplier

Re-bonjour,

Ci-après quelques commentaires qui, je l'espère, aideront à mieux comprendre les résultats obtenus.

Macro du #1 :

Code:
Sub Macro5()
'
' Macro5 Macro
'

'
    'selection de b1
    Range("B1").Select
    'valeur de b 1 = 1
    ActiveCell.FormulaR1C1 = "1"
    'sélection de b1
    Range("B1").Select
    'copie de la valeur de b1 de b1 à b11
    Selection.AutoFill Destination:=Range("B1:B11"), Type:=xlFillDefault
    'selection de b1 à b11
    Range("B1:B11").Select
    'copie de la sélection
    Selection.Copy
    'selection de a1 à a11
    Range("A1:A11").Select
    'collage de la même plage => l'opération ne peut fonctionner et les valeurs conservent le format texte
    Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlMultiply, _
        SkipBlanks:=False, Transpose:=False
    Range("B1:B11").Select
    Application.CutCopyMode = False
    Selection.ClearContents
    Range("A1:A11").Select
    Selection.Style = "Percent"
    Selection.NumberFormat = "0.0%"
    Selection.NumberFormat = "0.00%"
    Range("A1").Select

End Sub
Macro du #2

Code:
Sub Pourcentage()
'figer l'écran
Application.ScreenUpdating = False
'valeur  a*1 en colonne b, tant que la cellue de gauche (colonne a) est différente de ""
Range("b1:b" & Range("a65536").End(xlUp).Row) = "=RC[-1]*1"
'en colonne b
With Columns("B:B")
    'appliquer le format pourcentage
    .NumberFormat = "0.00%"
    'remplacer les formules par des valeurs
    .Value = .Value
End With
'couper-coller les valeurs de la colonne b vers la colonne a
Range(Range("b1"), Range("b1").End(xlDown)).Cut Destination:=Range("a1")
Application.ScreenUpdating = True
End Sub
Bon courage et à bientôt :)
 

Créez un compte ou connectez vous pour répondre

Vous devez être membre afin de pouvoir répondre ici

Créer un compte

Créez un compte Excel Downloads. C'est simple!

Connexion

Vous avez déjà un compte? Connectez vous ici.

Haut Bas