Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Copier/Coller sélection multiple

4 réponses
Avatar
13Hubert
Bonjour à toutes et à tous !

J'ai bien vu passer une réponse à cette même question mais je n'arrive pas à
la retrouver...

Mon classeur comprend plusieurs feuilles identiques, trois par mois en fait...
De nombreuses cellules sont liées à d'autres fichiers.
Chaque fin de mois, il me faut expédier à ma Direction une copie de mon
classeur et bien sur, il me faut casser les liens en faisant un
copier/collage spécial de chaque cellule sur elle-même pour ne conserver que
les valeurs.
J'ai imaginé faire ça avec VBA, sauf que...

Comment copier/coller des plages de cellules non contiguës ce, pour chaque
feuille...? Sachant que j'ai 39 plages par feuille et 36 feuilles - 1404
plage à traîter - je me vois mal détailler ça dans une macro... :-(

J'ai pensé qu'eventuellement, je pouvais rassembler ces plages en un seul
nom par feuille... Mais alors, comment faire appel à ces plages à l'aide de
VBA ?

J'avais inclus un bout de code que quelqu'un ici m'avait gentiment donné
pour enregistrer le fichier sans aucune formule. Moi, ça m'allait mais mon
correspondant lui, voulait conserver "son" fichier avec quelques formules...

Alors voilà ! SI quelqu'un pouvait m'aider, ce serait sympa !

Merci beaucoup d'avance !

Hubert
--
...from Marseille !

4 réponses

Avatar
JB
Bonjour,

Transforme en valeurs un champ multiple:

For i = 1 To Range("champ").Areas.Count
Range("champ").Areas(i).Value = Range("champ").Areas(i).Value
Next i

Cordialement JB


On 9 mai, 15:26, 13Hubert wrote:
Bonjour à toutes et à tous !

J'ai bien vu passer une réponse à cette même question mais je n'arr ive pas à
la retrouver...

Mon classeur comprend plusieurs feuilles identiques, trois par mois en fa it...
De nombreuses cellules sont liées à d'autres fichiers.
Chaque fin de mois, il me faut expédier à ma Direction une copie de m on
classeur et bien sur, il me faut casser les liens en faisant un
copier/collage spécial de chaque cellule sur elle-même pour ne conser ver que
les valeurs.
J'ai imaginé faire ça avec VBA, sauf que...

Comment copier/coller des plages de cellules non contiguës ce, pour cha que
feuille...? Sachant que j'ai 39 plages par feuille et 36 feuilles - 1404
plage à traîter - je me vois mal détailler ça dans une macro... : -(

J'ai pensé qu'eventuellement, je pouvais rassembler ces plages en un se ul
nom par feuille... Mais alors, comment faire appel à ces plages à l'a ide de
VBA ?

J'avais inclus un bout de code que quelqu'un ici m'avait gentiment donn é
pour enregistrer le fichier sans aucune formule. Moi, ça m'allait mais mon
correspondant lui, voulait conserver "son" fichier avec quelques formules ...

Alors voilà ! SI quelqu'un pouvait m'aider, ce serait sympa !

Merci beaucoup d'avance !

Hubert
--
...from Marseille !


Avatar
13Hubert
Salut JB et merci pour la réponse...

Vois-tu, je suis en éternelle formation aussi, je n'ai pas tout compris à ce
que tu m'as proposé... <8-/
Pourrais-tu m'expliquer avec un exemple STP ? car là, je ne sais pas comment
comprendre ni intégrer ton code...

Pardon encore et merci beaucoup !

Hubert
--
...from Marseille !



Bonjour,

Transforme en valeurs un champ multiple:

For i = 1 To Range("champ").Areas.Count
Range("champ").Areas(i).Value = Range("champ").Areas(i).Value
Next i

Cordialement JB


On 9 mai, 15:26, 13Hubert wrote:
Bonjour à toutes et à tous !

J'ai bien vu passer une réponse à cette même question mais je n'arrive pas à
la retrouver...

Mon classeur comprend plusieurs feuilles identiques, trois par mois en fait...
De nombreuses cellules sont liées à d'autres fichiers.
Chaque fin de mois, il me faut expédier à ma Direction une copie de mon
classeur et bien sur, il me faut casser les liens en faisant un
copier/collage spécial de chaque cellule sur elle-même pour ne conserver que
les valeurs.
J'ai imaginé faire ça avec VBA, sauf que...

Comment copier/coller des plages de cellules non contiguës ce, pour chaque
feuille...? Sachant que j'ai 39 plages par feuille et 36 feuilles - 1404
plage à traîter - je me vois mal détailler ça dans une macro... :-(

J'ai pensé qu'eventuellement, je pouvais rassembler ces plages en un seul
nom par feuille... Mais alors, comment faire appel à ces plages à l'aide de
VBA ?

J'avais inclus un bout de code que quelqu'un ici m'avait gentiment donné
pour enregistrer le fichier sans aucune formule. Moi, ça m'allait mais mon
correspondant lui, voulait conserver "son" fichier avec quelques formules....

Alors voilà ! SI quelqu'un pouvait m'aider, ce serait sympa !

Merci beaucoup d'avance !

Hubert
--
...from Marseille !







Avatar
13Hubert
Ca-y-est !!
J'ai compris ce qu'il faut faire !
J'ai fait des tests et j'ai fini par comprendre...
Finalement, je suis pas si c.. ! :-D

Merci encore JB
Merci à tous !

Hubert
--
...from Marseille !



Bonjour,

Transforme en valeurs un champ multiple:

For i = 1 To Range("champ").Areas.Count
Range("champ").Areas(i).Value = Range("champ").Areas(i).Value
Next i

Cordialement JB


On 9 mai, 15:26, 13Hubert wrote:
Bonjour à toutes et à tous !

J'ai bien vu passer une réponse à cette même question mais je n'arrive pas à
la retrouver...

Mon classeur comprend plusieurs feuilles identiques, trois par mois en fait...
De nombreuses cellules sont liées à d'autres fichiers.
Chaque fin de mois, il me faut expédier à ma Direction une copie de mon
classeur et bien sur, il me faut casser les liens en faisant un
copier/collage spécial de chaque cellule sur elle-même pour ne conserver que
les valeurs.
J'ai imaginé faire ça avec VBA, sauf que...

Comment copier/coller des plages de cellules non contiguës ce, pour chaque
feuille...? Sachant que j'ai 39 plages par feuille et 36 feuilles - 1404
plage à traîter - je me vois mal détailler ça dans une macro... :-(

J'ai pensé qu'eventuellement, je pouvais rassembler ces plages en un seul
nom par feuille... Mais alors, comment faire appel à ces plages à l'aide de
VBA ?

J'avais inclus un bout de code que quelqu'un ici m'avait gentiment donné
pour enregistrer le fichier sans aucune formule. Moi, ça m'allait mais mon
correspondant lui, voulait conserver "son" fichier avec quelques formules....

Alors voilà ! SI quelqu'un pouvait m'aider, ce serait sympa !

Merci beaucoup d'avance !

Hubert
--
...from Marseille !







Avatar
13Hubert
Petite précision...
Il semble que les champs multiples ne puissent contenir que 14 plages de
cellules...
Il m'a donc été nécessaire de créer plusieurs champs que j'ai nommés
"Janv1", "Janv2", "Fev1", "Fev2", etc...

Si quelqu'un a une autre idée, elle sera la bienvenue...

En tous cas, encore merci à JB !

Hubert

--
...from Marseille !



Bonjour,

Transforme en valeurs un champ multiple:

For i = 1 To Range("champ").Areas.Count
Range("champ").Areas(i).Value = Range("champ").Areas(i).Value
Next i

Cordialement JB


On 9 mai, 15:26, 13Hubert wrote:
Bonjour à toutes et à tous !

J'ai bien vu passer une réponse à cette même question mais je n'arrive pas à
la retrouver...

Mon classeur comprend plusieurs feuilles identiques, trois par mois en fait...
De nombreuses cellules sont liées à d'autres fichiers.
Chaque fin de mois, il me faut expédier à ma Direction une copie de mon
classeur et bien sur, il me faut casser les liens en faisant un
copier/collage spécial de chaque cellule sur elle-même pour ne conserver que
les valeurs.
J'ai imaginé faire ça avec VBA, sauf que...

Comment copier/coller des plages de cellules non contiguës ce, pour chaque
feuille...? Sachant que j'ai 39 plages par feuille et 36 feuilles - 1404
plage à traîter - je me vois mal détailler ça dans une macro... :-(

J'ai pensé qu'eventuellement, je pouvais rassembler ces plages en un seul
nom par feuille... Mais alors, comment faire appel à ces plages à l'aide de
VBA ?

J'avais inclus un bout de code que quelqu'un ici m'avait gentiment donné
pour enregistrer le fichier sans aucune formule. Moi, ça m'allait mais mon
correspondant lui, voulait conserver "son" fichier avec quelques formules....

Alors voilà ! SI quelqu'un pouvait m'aider, ce serait sympa !

Merci beaucoup d'avance !

Hubert
--
...from Marseille !