OVH Cloud OVH Cloud

MichDenis SOS !

8 réponses
Avatar
bartez
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code que tu
m'as fait passer pour récupérer les formules fonctionne en prenant les
adresses des formules avec une représentation maxi de 257 caractères et pas
un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi je
sèche.

@+ Bartez

8 réponses

Avatar
docm
Bonsoir.

Pourquoi ne pas faire un simple Copier/Collage spécial (formules) ?

Intrigué.


"bartez" wrote in message
news:
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code que tu
m'as fait passer pour récupérer les formules fonctionne en prenant les
adresses des formules avec une représentation maxi de 257 caractères et
pas

un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi je
sèche.

@+ Bartez




Avatar
bartez
Le problème du Copier/Collage spécial (formules) c'est que ça ne copié pas
seulement les formules, mais ça copie aussi les valeurs toutes simples comme
par exemple un 5 ou un 8. Moi, ce que je cherche à copier, ce sont
exclusivement les Cellules qui contiennent un signe "=" donc seulement des
formules pour les coller sur une autre feuille, au même emplacement et
surtout sans effacer les valeur environnentes.
En fait la 1ere macro que tu m'as proposée, fait éxactement ce que je veux
avec comme seul bémol qu'elle ne prenait pas ou ne posait pas toutes les
formules. Comme si la variable Adr dans laquelle les addresses étaient
stockées était saturée à 257 caractères.
Je suis en train d'essayer les autres macro que tu viens de me laisser pour
voir si elles corrigent ce problème.
Quoiqu'il en soit, merci pour ton aide et ton code.

@+ Bartez

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

Bonsoir.

Pourquoi ne pas faire un simple Copier/Collage spécial (formules) ?

Intrigué.


"bartez" wrote in message
news:
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code que tu
m'as fait passer pour récupérer les formules fonctionne en prenant les
adresses des formules avec une représentation maxi de 257 caractères et
pas

un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi je
sèche.

@+ Bartez








Avatar
michdenis
Bonjour Bartez,

Je viens de restester celle-ci, et je n'observe pas ce que tu remarques !


Sub CopieDeFormulesDuneFeuilleAlautre()

Dim Rg As Range, C As Range
On Error Resume Next
'Feuille source
With Worksheets("Feuil1")
Set Rg = .UsedRange.SpecialCells _
(xlCellTypeFormulas)
End With

aa = Rg.Address

'Feuille destination
With Worksheets("Feuil3")
For Each C In Rg
If C.HasArray = False Then
.Range(C.Address).FormulaLocal = _
Worksheets("Feuil1").Range(C.Address).Formula
Else
.Range(C.Address).FormulaArray = _
Worksheets("Feuil1").Range(C.Address).Formula

End If
Next
End With
Set Rg = Nothing: Set C = Nothing
End Sub


Salutations!



"bartez" a écrit dans le message de news: uXcdn%
Le problème du Copier/Collage spécial (formules) c'est que ça ne copié pas
seulement les formules, mais ça copie aussi les valeurs toutes simples comme
par exemple un 5 ou un 8. Moi, ce que je cherche à copier, ce sont
exclusivement les Cellules qui contiennent un signe "=" donc seulement des
formules pour les coller sur une autre feuille, au même emplacement et
surtout sans effacer les valeur environnentes.
En fait la 1ere macro que tu m'as proposée, fait éxactement ce que je veux
avec comme seul bémol qu'elle ne prenait pas ou ne posait pas toutes les
formules. Comme si la variable Adr dans laquelle les addresses étaient
stockées était saturée à 257 caractères.
Je suis en train d'essayer les autres macro que tu viens de me laisser pour
voir si elles corrigent ce problème.
Quoiqu'il en soit, merci pour ton aide et ton code.

@+ Bartez

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

Bonsoir.

Pourquoi ne pas faire un simple Copier/Collage spécial (formules) ?

Intrigué.


"bartez" wrote in message
news:
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code que tu
m'as fait passer pour récupérer les formules fonctionne en prenant les
adresses des formules avec une représentation maxi de 257 caractères et
pas

un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi je
sèche.

@+ Bartez








Avatar
bartez
Bonsoir Denis,

Je viens de tester et de retester ta macro et j'ai fini par m'appercevoir
d'un truc...Je ne sais pas si c''est possible,....tu vas me le dire ;)

Quand j'éxecute cette macro, elle récupère presque toutes les formules, masi
pas celles qui commence par =Si( ou encore par Úte( par contre toutes
celle qui sont du genre ¡*B3 passent sans problèmes. Je vais esyer de voir
si il y a d'autres différence, mais pour celles ci ça me le refait à chaque
fois, ça ne passe pas. En plus (si ça peut aider ) j'ai l'impression que ce
qui est copier est transformé exemple:

dans la feuille 1 j'ai :
=JOURSEM(F7)

dans la feuille 2 ça devient :
=WEEKDAY(F7)

Est ce que ça a un rapport ?????? je pense mais j'y connais pas grand chose
!

Je suis désolé de prendre autant de temps avec mes problèmes, mais moi je
risque pas de trouver une solution tout seul :(

@+ Bartez

un peu plus
"michdenis" a écrit dans le message de news:

Bonjour Bartez,

Je viens de restester celle-ci, et je n'observe pas ce que tu remarques !


Sub CopieDeFormulesDuneFeuilleAlautre()

Dim Rg As Range, C As Range
On Error Resume Next
'Feuille source
With Worksheets("Feuil1")
Set Rg = .UsedRange.SpecialCells _
(xlCellTypeFormulas)
End With

aa = Rg.Address

'Feuille destination
With Worksheets("Feuil3")
For Each C In Rg
If C.HasArray = False Then
.Range(C.Address).FormulaLocal = _
Worksheets("Feuil1").Range(C.Address).Formula
Else
.Range(C.Address).FormulaArray = _
Worksheets("Feuil1").Range(C.Address).Formula

End If
Next
End With
Set Rg = Nothing: Set C = Nothing
End Sub


Salutations!



"bartez" a écrit dans le message de news:
uXcdn%

Le problème du Copier/Collage spécial (formules) c'est que ça ne copié pas
seulement les formules, mais ça copie aussi les valeurs toutes simples
comme

par exemple un 5 ou un 8. Moi, ce que je cherche à copier, ce sont
exclusivement les Cellules qui contiennent un signe "=" donc seulement des
formules pour les coller sur une autre feuille, au même emplacement et
surtout sans effacer les valeur environnentes.
En fait la 1ere macro que tu m'as proposée, fait éxactement ce que je veux
avec comme seul bémol qu'elle ne prenait pas ou ne posait pas toutes les
formules. Comme si la variable Adr dans laquelle les addresses étaient
stockées était saturée à 257 caractères.
Je suis en train d'essayer les autres macro que tu viens de me laisser
pour

voir si elles corrigent ce problème.
Quoiqu'il en soit, merci pour ton aide et ton code.

@+ Bartez

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

Bonsoir.

Pourquoi ne pas faire un simple Copier/Collage spécial (formules) ?

Intrigué.


"bartez" wrote in message
news:
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code que
tu



m'as fait passer pour récupérer les formules fonctionne en prenant les
adresses des formules avec une représentation maxi de 257 caractères
et



pas
un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi
je



sèche.

@+ Bartez













Avatar
michdenis
Bonjour Bartez,

Dans la procédure, modifie à deux endroits : Formula pour FormulaLocal et ça devrait aller.

Le reste est OK !


Salutations!




"bartez" a écrit dans le message de news:
Bonsoir Denis,

Je viens de tester et de retester ta macro et j'ai fini par m'appercevoir
d'un truc...Je ne sais pas si c''est possible,....tu vas me le dire ;)

Quand j'éxecute cette macro, elle récupère presque toutes les formules, masi
pas celles qui commence par =Si( ou encore par Úte( par contre toutes
celle qui sont du genre ¡*B3 passent sans problèmes. Je vais esyer de voir
si il y a d'autres différence, mais pour celles ci ça me le refait à chaque
fois, ça ne passe pas. En plus (si ça peut aider ) j'ai l'impression que ce
qui est copier est transformé exemple:

dans la feuille 1 j'ai :
=JOURSEM(F7)

dans la feuille 2 ça devient :
=WEEKDAY(F7)

Est ce que ça a un rapport ?????? je pense mais j'y connais pas grand chose
!

Je suis désolé de prendre autant de temps avec mes problèmes, mais moi je
risque pas de trouver une solution tout seul :(

@+ Bartez

un peu plus
"michdenis" a écrit dans le message de news:

Bonjour Bartez,

Je viens de restester celle-ci, et je n'observe pas ce que tu remarques !


Sub CopieDeFormulesDuneFeuilleAlautre()

Dim Rg As Range, C As Range
On Error Resume Next
'Feuille source
With Worksheets("Feuil1")
Set Rg = .UsedRange.SpecialCells _
(xlCellTypeFormulas)
End With

aa = Rg.Address

'Feuille destination
With Worksheets("Feuil3")
For Each C In Rg
If C.HasArray = False Then
.Range(C.Address).FormulaLocal = _
Worksheets("Feuil1").Range(C.Address).Formula
Else
.Range(C.Address).FormulaArray = _
Worksheets("Feuil1").Range(C.Address).Formula

End If
Next
End With
Set Rg = Nothing: Set C = Nothing
End Sub


Salutations!



"bartez" a écrit dans le message de news:
uXcdn%

Le problème du Copier/Collage spécial (formules) c'est que ça ne copié pas
seulement les formules, mais ça copie aussi les valeurs toutes simples
comme

par exemple un 5 ou un 8. Moi, ce que je cherche à copier, ce sont
exclusivement les Cellules qui contiennent un signe "=" donc seulement des
formules pour les coller sur une autre feuille, au même emplacement et
surtout sans effacer les valeur environnentes.
En fait la 1ere macro que tu m'as proposée, fait éxactement ce que je veux
avec comme seul bémol qu'elle ne prenait pas ou ne posait pas toutes les
formules. Comme si la variable Adr dans laquelle les addresses étaient
stockées était saturée à 257 caractères.
Je suis en train d'essayer les autres macro que tu viens de me laisser
pour

voir si elles corrigent ce problème.
Quoiqu'il en soit, merci pour ton aide et ton code.

@+ Bartez

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

Bonsoir.

Pourquoi ne pas faire un simple Copier/Collage spécial (formules) ?

Intrigué.


"bartez" wrote in message
news:
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code que
tu



m'as fait passer pour récupérer les formules fonctionne en prenant les
adresses des formules avec une représentation maxi de 257 caractères
et



pas
un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi
je



sèche.

@+ Bartez













Avatar
docm
Pour ne conserver que les formules après le collage:

Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents

Sous toutes réserves.


"bartez" wrote in message
news:uXcdn#
Le problème du Copier/Collage spécial (formules) c'est que ça ne copié pas
seulement les formules, mais ça copie aussi les valeurs toutes simples
comme

par exemple un 5 ou un 8. Moi, ce que je cherche à copier, ce sont
exclusivement les Cellules qui contiennent un signe "=" donc seulement des
formules pour les coller sur une autre feuille, au même emplacement et
surtout sans effacer les valeur environnentes.
En fait la 1ere macro que tu m'as proposée, fait éxactement ce que je veux
avec comme seul bémol qu'elle ne prenait pas ou ne posait pas toutes les
formules. Comme si la variable Adr dans laquelle les addresses étaient
stockées était saturée à 257 caractères.
Je suis en train d'essayer les autres macro que tu viens de me laisser
pour

voir si elles corrigent ce problème.
Quoiqu'il en soit, merci pour ton aide et ton code.

@+ Bartez

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

Bonsoir.

Pourquoi ne pas faire un simple Copier/Collage spécial (formules) ?

Intrigué.


"bartez" wrote in message
news:
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code que
tu



m'as fait passer pour récupérer les formules fonctionne en prenant les
adresses des formules avec une représentation maxi de 257 caractères
et



pas
un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi
je



sèche.

@+ Bartez












Avatar
bartez
le problème c'est que je ne veux pas effacer les cellules qui ne sont pas
des formules. je veux justement les garder avec leur valeur, sans les
recouvrir avec la valeur des cellules copiées.
Merci quand même
Bartez

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

Pour ne conserver que les formules après le collage:

Selection.SpecialCells(xlCellTypeConstants, 23).ClearContents

Sous toutes réserves.


"bartez" wrote in message
news:uXcdn#
Le problème du Copier/Collage spécial (formules) c'est que ça ne copié
pas


seulement les formules, mais ça copie aussi les valeurs toutes simples
comme

par exemple un 5 ou un 8. Moi, ce que je cherche à copier, ce sont
exclusivement les Cellules qui contiennent un signe "=" donc seulement
des


formules pour les coller sur une autre feuille, au même emplacement et
surtout sans effacer les valeur environnentes.
En fait la 1ere macro que tu m'as proposée, fait éxactement ce que je
veux


avec comme seul bémol qu'elle ne prenait pas ou ne posait pas toutes les
formules. Comme si la variable Adr dans laquelle les addresses étaient
stockées était saturée à 257 caractères.
Je suis en train d'essayer les autres macro que tu viens de me laisser
pour

voir si elles corrigent ce problème.
Quoiqu'il en soit, merci pour ton aide et ton code.

@+ Bartez

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

Bonsoir.

Pourquoi ne pas faire un simple Copier/Collage spécial (formules) ?

Intrigué.


"bartez" wrote in message
news:
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code
que




tu
m'as fait passer pour récupérer les formules fonctionne en prenant
les




adresses des formules avec une représentation maxi de 257 caractères
et



pas
un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi
je



sèche.

@+ Bartez
















Avatar
bartez
Bonjour Denis,

Tu as raison, cette fois tout est bien copié et reposé à la bonne place.
J'ai testé sur plusieurs Feuilles contenant énormément de formules, tout
semble être OK.
Je vais enfin pouvoir passer à autre chose et avancer un peu plus sur mon
projet.
Merci encore pour ta ténacité et tes compétances, sans ton aide je n'y
serais jamais arrivé.

Bonne journée, Bartez



"michdenis" a écrit dans le message de news:
u$
Bonjour Bartez,

Dans la procédure, modifie à deux endroits : Formula pour FormulaLocal
et ça devrait aller.


Le reste est OK !


Salutations!




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


Bonsoir Denis,

Je viens de tester et de retester ta macro et j'ai fini par m'appercevoir
d'un truc...Je ne sais pas si c''est possible,....tu vas me le dire ;)

Quand j'éxecute cette macro, elle récupère presque toutes les formules,
masi

pas celles qui commence par =Si( ou encore par Úte( par contre toutes
celle qui sont du genre ¡*B3 passent sans problèmes. Je vais esyer de
voir

si il y a d'autres différence, mais pour celles ci ça me le refait à
chaque

fois, ça ne passe pas. En plus (si ça peut aider ) j'ai l'impression que
ce

qui est copier est transformé exemple:

dans la feuille 1 j'ai :
=JOURSEM(F7)

dans la feuille 2 ça devient :
=WEEKDAY(F7)

Est ce que ça a un rapport ?????? je pense mais j'y connais pas grand
chose

!

Je suis désolé de prendre autant de temps avec mes problèmes, mais moi je
risque pas de trouver une solution tout seul :(

@+ Bartez

un peu plus
"michdenis" a écrit dans le message de news:

Bonjour Bartez,

Je viens de restester celle-ci, et je n'observe pas ce que tu remarques
!




Sub CopieDeFormulesDuneFeuilleAlautre()

Dim Rg As Range, C As Range
On Error Resume Next
'Feuille source
With Worksheets("Feuil1")
Set Rg = .UsedRange.SpecialCells _
(xlCellTypeFormulas)
End With

aa = Rg.Address

'Feuille destination
With Worksheets("Feuil3")
For Each C In Rg
If C.HasArray = False Then
.Range(C.Address).FormulaLocal = _
Worksheets("Feuil1").Range(C.Address).Formula
Else
.Range(C.Address).FormulaArray = _
Worksheets("Feuil1").Range(C.Address).Formula

End If
Next
End With
Set Rg = Nothing: Set C = Nothing
End Sub


Salutations!



"bartez" a écrit dans le message de news:
uXcdn%

Le problème du Copier/Collage spécial (formules) c'est que ça ne copié
pas


seulement les formules, mais ça copie aussi les valeurs toutes simples
comme

par exemple un 5 ou un 8. Moi, ce que je cherche à copier, ce sont
exclusivement les Cellules qui contiennent un signe "=" donc seulement
des


formules pour les coller sur une autre feuille, au même emplacement et
surtout sans effacer les valeur environnentes.
En fait la 1ere macro que tu m'as proposée, fait éxactement ce que je
veux


avec comme seul bémol qu'elle ne prenait pas ou ne posait pas toutes les
formules. Comme si la variable Adr dans laquelle les addresses étaient
stockées était saturée à 257 caractères.
Je suis en train d'essayer les autres macro que tu viens de me laisser
pour

voir si elles corrigent ce problème.
Quoiqu'il en soit, merci pour ton aide et ton code.

@+ Bartez

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

Bonsoir.

Pourquoi ne pas faire un simple Copier/Collage spécial (formules) ?

Intrigué.


"bartez" wrote in message
news:
Bonsoir Denis,

Excuse moi de lancer un SOS comme ça dans la nature, mais le code
que




tu
m'as fait passer pour récupérer les formules fonctionne en prenant
les




adresses des formules avec une représentation maxi de 257 caractères
et



pas
un de plus!

Si tu pouvais m'aider à trouver l'origine de ce problème, car là moi
je



sèche.

@+ Bartez