Modif / amelio macro

Le
Eric
J'ai une macro tres basique qui me sert a convertir des plages de
cellules de livre anglaise en euro dans 3 feuilles differentes :

Sub GPB_Currency_Convert()
With Worksheets("Exchange Rates")
With .Range("C2")
.Copy
End With
End With
With Worksheets("F300_UK")
With .Range("D8:G2346")
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
End With
With Worksheets("F322_UK")
With .Range("D9:G295")
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
End With
With Worksheets("F340_UK")
With .Range("D9:G140")
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
End With
End Sub

Mon probleme est le suivant :
Dans les plages a convertir, en plus des données brutes j'ai quelques
fois des formules (=sum) et je voudrais que lorsque la cellule
contient une formule elle ne soit pas convertit. Je pense qu'il faut
utiliser "HasFormula" mais je n'arrive pas a l'integrer.

Merci bcp pour votre aide
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #22752721
Bonjour,

Par exemple
'----------
With Worksheets("F300_UK")
For Each c In .Range("D8:G2346")
If Not c.HasFormula Then
c.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End If
Next
End With
'-------------
Idem pour les autres feuilles
Il y a intérêt à mettre le calcul sur manuel pendant l'execution de la macro

--
Salutations
JJ


"Eric"
J'ai une macro tres basique qui me sert a convertir des plages de
cellules de livre anglaise en euro dans 3 feuilles differentes :

Sub GPB_Currency_Convert()
With Worksheets("Exchange Rates")
With .Range("C2")
.Copy
End With
End With
With Worksheets("F300_UK")
With .Range("D8:G2346")
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
End With
With Worksheets("F322_UK")
With .Range("D9:G295")
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
End With
With Worksheets("F340_UK")
With .Range("D9:G140")
.PasteSpecial xlPasteValues, xlPasteSpecialOperationMultiply
End With
End With
End Sub

Mon probleme est le suivant :
Dans les plages a convertir, en plus des données brutes j'ai quelques
fois des formules (=sum......) et je voudrais que lorsque la cellule
contient une formule elle ne soit pas convertit. Je pense qu'il faut
utiliser "HasFormula" mais je n'arrive pas a l'integrer.

Merci bcp pour votre aide
Publicité
Poster une réponse
Anonyme