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

VBA, EXCEL & « COPY/PASTE »

16 réponses
Avatar
Philippe Dhondt
Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
:=False, Transpose:=False



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées le
sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même chose en
VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre, mais
quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces données
copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt

10 réponses

1 2
Avatar
François
Bonjour Philippe,

Essaye l'instruction worksheets("feuil1").range("A1:F1").value =
worksheets("feuil2").range("A1:F1").value

"Philippe Dhondt" wrote:

Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées le
sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même chose en
VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre, mais
quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces données
copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt









Avatar
Jacky
Bonjour Philippe

Ceci copie les VALEURS des cellules A1 à F1 la feuille 1 vers les mêmes
cellules de la feuille 2
'-----
Worksheets("feuil2").Range("A1:F1").Value Worksheets("feuil1").Range("A1:F1").Value
'-----

Et ceci copie les VALEURS+ FORMATS+FORMULES
'------
Worksheets("feuil1").Range("A1:F1").Copy Worksheets("feuil2").Range("A1")
'------

Salutations
JJ

"Philippe Dhondt" a écrit dans le message de
news:QlZff.1524$
Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées
le

sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même chose
en

VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre,
mais

quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces données
copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt








Avatar
Jacky
Re...
Il serait aussi sympathique de ta part ou pour le moins encourageant pour
ceux qui proposent des solutions (gratuites), que tu nous dises si les
réponses qui te sont faites ou ceux qui t'on déjà étaient faites donnent
satisfactions.

Salutations
JJ

"Jacky" a écrit dans le message
de news:
Bonjour Philippe

Ceci copie les VALEURS des cellules A1 à F1 la feuille 1 vers les mêmes
cellules de la feuille 2
'-----
Worksheets("feuil2").Range("A1:F1").Value > Worksheets("feuil1").Range("A1:F1").Value
'-----

Et ceci copie les VALEURS+ FORMATS+FORMULES
'------
Worksheets("feuil1").Range("A1:F1").Copy Worksheets("feuil2").Range("A1")
'------

Salutations
JJ

"Philippe Dhondt" a écrit dans le message de
news:QlZff.1524$
Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks


:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées
le

sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même
chose


en
VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre,
mais

quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces
données


copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt












Avatar
anonymousA
Bonjour,

une autre écriture possible qui ne pose pas de problème sur des copies
de valeurs numériques.

'copier l'intégralité des propriétés de la zone , y.c donc les valeurs
et leurs formats

[A1:F1].Copy [Feuil2!A1]

'copier seulement les valeurs de la zone mais ne les convertit pas en texte

[Feuil2!A1:F1].Value = [A1:F1].Value

A+


Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées le
sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même chose en
VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre, mais
quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces données
copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt








Avatar
Jacky
Ouppps
On lira:
ou celles qui t'ont déjà été faites te donnent satisfactions.

"Jacky" a écrit dans le message
de news:
Re...
Il serait aussi sympathique de ta part ou pour le moins encourageant pour
ceux qui proposent des solutions (gratuites), que tu nous dises si les
réponses qui te sont faites ou ceux qui t'on déjà étaient faites donnent
satisfactions.

Salutations
JJ

"Jacky" a écrit dans le
message

de news:
Bonjour Philippe

Ceci copie les VALEURS des cellules A1 à F1 la feuille 1 vers les mêmes
cellules de la feuille 2
'-----
Worksheets("feuil2").Range("A1:F1").Value > > Worksheets("feuil1").Range("A1:F1").Value
'-----

Et ceci copie les VALEURS+ FORMATS+FORMULES
'------
Worksheets("feuil1").Range("A1:F1").Copy
Worksheets("feuil2").Range("A1")


'------

Salutations
JJ

"Philippe Dhondt" a écrit dans le message de
news:QlZff.1524$
Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks


:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data
copiées



le
sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne
change



rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même
chose


en
VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre,
mais

quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces
données


copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt
















Avatar
Jacky
Bonjour,

Moi qui suis fervent des "[]"; oublier ceci,
honte à moi.
;o))
JJ

"anonymousA" a écrit dans le message de
news:43808000$0$6672$
Bonjour,

une autre écriture possible qui ne pose pas de problème sur des copies
de valeurs numériques.

'copier l'intégralité des propriétés de la zone , y.c donc les valeurs
et leurs formats

[A1:F1].Copy [Feuil2!A1]

'copier seulement les valeurs de la zone mais ne les convertit pas en
texte


[Feuil2!A1:F1].Value = [A1:F1].Value

A+


Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,
SkipBlanks


:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées
le


sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même
chose en


VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre,
mais


quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces
données


copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt










Avatar
anonymousA
Bonjour,

N'aies pas honte,car personnellement, je ne suis guère un fervent adepte
du Captitaine Crochet mais c'était juste pour le fun.

Cordialement,

A+

Bonjour,

Moi qui suis fervent des "[]"; oublier ceci,
honte à moi.
;o))
JJ

"anonymousA" a écrit dans le message de
news:43808000$0$6672$

Bonjour,

une autre écriture possible qui ne pose pas de problème sur des copies
de valeurs numériques.

'copier l'intégralité des propriétés de la zone , y.c donc les valeurs
et leurs formats

[A1:F1].Copy [Feuil2!A1]

'copier seulement les valeurs de la zone mais ne les convertit pas en


texte

[Feuil2!A1:F1].Value = [A1:F1].Value

A+



Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone,



SkipBlanks

:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées



le

sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même



chose en

VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre,



mais

quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces



données

copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt















Avatar
Philippe Dhondt
Bonjour,


Re...
Il serait aussi sympathique de ta part ou pour le moins encourageant pour
ceux qui proposent des solutions (gratuites), que tu nous dises si les
réponses qui te sont faites ou ceux qui t'on déjà étaient faites donnent
satisfactions.

Salutations
JJ




Je teste ces reponses et vous tiens au courant.


Cordialement


Philippe Dhondt




"Philippe Dhondt" wrote in message
news:QlZff.1524$
Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées
le

sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même chose
en

VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre,
mais

quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces données
copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt








Avatar
Philippe Dhondt
Re,

La solution :
Worksheets("feuil2").Range("A1:F1").Value Worksheets("feuil1").Range("A1:F1").Value

bien que plus elegante (moins de lignes) ne fonctionnent pas non plus. (Les
data arrivent toujours dans la feuille destination sous format texte)


Petite precision, les feuilles se trouvent dans des classeurs differents...

En fait, il s'agit d'une appli boursière:
j'ouvre un classeur "Indice", puis j'ouvre un par un les classeurs "Titres"
des titres composants cette indice.
Je ramene les derniers cours de chaque titre dans le classeur Indice pour
effectuer ensuite une batterie de calculs.

J'espère que cette precision sera utile.

Merci


@+
Avatar
LSteph
Bonsoir Philippe,
Essaie ceci:
'***
Sub test2()
Feuil2.Range("a1:f1") = Feuil1.Range("a1:f1")
End Sub
'***

'Sinon chez moi entre deux feuilles ceci fonctionne sans le pb évoqué:
'***
Sub test()

Feuil1.Range("A1:F2").Copy
Feuil2.Activate
Range("A1:F2").Select
Selection.PasteSpecial Paste:=xlPasteValues, _
Operation:=xlNone, SkipBlanks:úlse, Transpose:úlse

End Sub
'***
'lSteph
"Philippe Dhondt" a écrit dans le message de
news: QlZff.1524$
Bonjour,

Je copie, via VBA, des data d'une feuille vers une autre



Feuille 1 :

Range("A1:F1).Select

Selection.copy



Feuille 2 :

Range("A1:F1).Select

Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks
:úlse, Transpose:úlse



Les colonnes des deux feuilles sont formatées en numérique



Quelque soient les options utilisées dans le « Paste », les data copiées
le
sont en Texte !!!!!!!!!!!! (Number stored as text)

Reformater, après le paste, les cellules en numeriques via VBA ne change
rien....

L'aide Excel propose de multiplier les cellules par 1, mais la même chose
en
VBA ne change rien ....



Dans la feuille, le menu contextuel permet de les convertir en nombre,
mais
quid en VBA ?



Evidemment, la suite de mon code doit obligatoirement utiliser ces données
copiées, et ce en nombre .



Quelqu'un aurait-il une idée ???



Merci





Philippe Dhondt








1 2