OVH Cloud OVH Cloud

passage en dur de formules sur des plages discontinues...

4 réponses
Avatar
Domi
Bonjour,
J'utilise un petit code de ce genre pour ecrire une formule dans des plages
nommées discontinues (plage1, plage2, plage3...)
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
End With
La partie inscription et calcul de la formule se passe bien.
Le problème survient quand je veux ensuite figer les résultats obtenus
si comme pour une plage simple j'ajoute.value=.value ça plante..
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
.Value = .Value
End With
Comment contourner ce problème ?
Merci
Domi

4 réponses

Avatar
JB
Bonjour,

Sur mon poste,c'est ok:

With Range("plage1,plage2,plage3")
.Formula = "=$A$1"
.Value = .Value
End With

JB



Bonjour,
J'utilise un petit code de ce genre pour ecrire une formule dans des plag es
nommées discontinues (plage1, plage2, plage3...)
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
End With
La partie inscription et calcul de la formule se passe bien.
Le problème survient quand je veux ensuite figer les résultats obtenus
si comme pour une plage simple j'ajoute.value=.value ça plante..
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
.Value = .Value
End With
Comment contourner ce problème ?
Merci
Domi


Avatar
MichDenis
Bonjour Domi,

As-tu essayé ceci :

Ce que tu évoques avec ce type de syntaxe :
Range("plage1, plage2, plage3....")
se produit ....et même si cela fonctionne, il arrive
que cela ne fonctionne plus sans "raison".

Cette syntaxe est plus sécuritaire !

'---------------------------
Sub test()
Dim are As Range
With Worksheets("Feuil1")
For Each are In Range("A1:A10,C1:C5").Areas
With are
.Formula = "=$K$5"
.Value = .Value
End With
Next
End With

End Sub
'---------------------------



"Domi" a écrit dans le message de news:
Bonjour,
J'utilise un petit code de ce genre pour ecrire une formule dans des plages
nommées discontinues (plage1, plage2, plage3...)
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
End With
La partie inscription et calcul de la formule se passe bien.
Le problème survient quand je veux ensuite figer les résultats obtenus
si comme pour une plage simple j'ajoute.value=.value ça plante..
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
.Value = .Value
End With
Comment contourner ce problème ?
Merci
Domi
Avatar
Domi
C'est bizarre, j'ai le pb au boulot (XP pro / Office 2003) mais pas à la
maison sur un exemple banal...(avec la même config). Pourrait-il y avoir un
lien avec la nature de la formule ? c'est vrai que dans mon cas qui plante
j'ai une mêchante formule avec un sommeprod à rallonge...
A suivre. J'approfondis et je reviens si necessaire en début de semaine ;o)
Merci,
Domi

"JB" a écrit dans le message de news:

Bonjour,

Sur mon poste,c'est ok:

With Range("plage1,plage2,plage3")
.Formula = "=$A$1"
.Value = .Value
End With

JB



Bonjour,
J'utilise un petit code de ce genre pour ecrire une formule dans des
plages
nommées discontinues (plage1, plage2, plage3...)
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
End With
La partie inscription et calcul de la formule se passe bien.
Le problème survient quand je veux ensuite figer les résultats obtenus
si comme pour une plage simple j'ajoute.value=.value ça plante..
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
.Value = .Value
End With
Comment contourner ce problème ?
Merci
Domi


Avatar
Domi
Sur mon classeur test ça marche bien
Merci
Domi

"MichDenis" a écrit dans le message de news:

Bonjour Domi,

As-tu essayé ceci :

Ce que tu évoques avec ce type de syntaxe :
Range("plage1, plage2, plage3....")
se produit ....et même si cela fonctionne, il arrive
que cela ne fonctionne plus sans "raison".

Cette syntaxe est plus sécuritaire !

'---------------------------
Sub test()
Dim are As Range
With Worksheets("Feuil1")
For Each are In Range("A1:A10,C1:C5").Areas
With are
.Formula = "=$K$5"
.Value = .Value
End With
Next
End With

End Sub
'---------------------------



"Domi" a écrit dans le message de news:

Bonjour,
J'utilise un petit code de ce genre pour ecrire une formule dans des
plages
nommées discontinues (plage1, plage2, plage3...)
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
End With
La partie inscription et calcul de la formule se passe bien.
Le problème survient quand je veux ensuite figer les résultats obtenus
si comme pour une plage simple j'ajoute.value=.value ça plante..
With Range("plage1, plage2, plage3....")
.Formula = Ma formule.........
.Value = .Value
End With
Comment contourner ce problème ?
Merci
Domi