[newbie]Copier-coller en VBA

Le
erwan
Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine
Merci d'avance
Erwan
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
isabelle
Le #5012751
bonjour Erwan,

Sheets("Feuil1").Range("A1:A10").Copy Sheets("Feuil2").Range("A1")

isabelle

Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4...
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine...
Merci d'avance
Erwan



ChrisV
Le #5012441
Bonjour Erwan,

Sub zaza()
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value
End Sub

ou encore, avec les plage nommées: Feuil1!A1:A10 (Zn) et Feuil2!A1:A10
(desT)

Sub zaza()
[desT] = [Zn].Value
End Sub


ChrisV


"erwan"
Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4...
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine...
Merci d'avance
Erwan
erwan
Le #5012341
On 30 oct, 23:17, isabelle wrote:
bonjour Erwan,

Sheets("Feuil1").Range("A1:A10").Copy Sheets("Feuil2").Range("A1")

Super merci!

Et si je veux que le coller ne colle que les valeurs et pas les
formules?
Merci encore!
Erwan

isabelle


Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4...
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine...
Merci d'avance
Erwan




papou
Le #5012031
Bonjour ChrisV
Une subtilité m'échappe ;-)
Pourrais-tu expliquer pourquoi tu intègres une propriété .Value sur
l'évaluation de la deuxième plage de cellules ?
Si je fais le test sans cette propriété j'obtiens le résultat attendu.
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

J'aurai d'ailleurs personnellement tendance à plutôt proposer :
Sheets('Feuil2").Range("A1:A10") = Sheets("Feuil1").[A1:A10]
Puisqu'il ne m'apparaît pas utile d'évaluer des plages qui vont recevoir une
valeur.

Merci pour ton éclaircissement.

Cordialement
Pascal

"ChrisV"
Bonjour Erwan,

Sub zaza()
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value
End Sub

ou encore, avec les plage nommées: Feuil1!A1:A10 (Zn) et Feuil2!A1:A10
(desT)

Sub zaza()
[desT] = [Zn].Value
End Sub


ChrisV


"erwan"
Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4...
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine...
Merci d'avance
Erwan




MichDenis
Le #5012001
| Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

D'entrée de jeu, l'utilisation des crochets n'apporte rien dans ce type de situation
si ce n'est qu'un peu de confusion aux néophytes qui fréquentent ce forum.

Pour toi Papou,

A ) faut faire la différence entre une plage de cellule désignée par une
Classe d'objet en l'occurence : "Range"
C'est dans cette classe d'objet qui est défini toutes les propriétés et méthodes
de l'objet "Range" ainsi que la propriété par défaut "Value"
Lorsque tu utilises l'objet "Range" comme dans Range("A1:A10") en l'absence
d'une propriété définie par l'usager, "Value" est celle attribuée par défaut.

[A1:A10] -> les crochets est une autre façon d'écrire ou de faire référence
à la méthode "Evaluate" de l'objet "application". Elle n'a pas de propriété par
défaut, elle ne permet pas à la saisie d'avoir une liste déroulante pour aider
l'usager à déterminer la propriété ou méthode appropriée à l'action qui veut poser...
De plus, elle effectue une opération totalement inutile dans le cas d'une simple copie
celui d'évaluer les cellules !!!

Dans l'exemple qui nous concerne, si tu écris comme ceci la commande :
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]
Rien ne sera copiée pour les raisons énoncées... Tu dois obligatoirement
écrire Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value

Et au sujet de ceci : Sheets("Feuil2").[A1:A10] , les crochets sont utilisées
simplement pour couper quelques caractères à ce que devrait être la
ligne de commande Sheets("Feuil2").range("A1:A10") . Personnellement
je ne crois pas que ce soit une raison valable !!! Chacun a droit à ses
petites lubies !




"papou"
Bonjour ChrisV
Une subtilité m'échappe ;-)
Pourrais-tu expliquer pourquoi tu intègres une propriété .Value sur
l'évaluation de la deuxième plage de cellules ?
Si je fais le test sans cette propriété j'obtiens le résultat attendu.
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

J'aurai d'ailleurs personnellement tendance à plutôt proposer :
Sheets('Feuil2").Range("A1:A10") = Sheets("Feuil1").[A1:A10]
Puisqu'il ne m'apparaît pas utile d'évaluer des plages qui vont recevoir une
valeur.

Merci pour ton éclaircissement.

Cordialement
Pascal

"ChrisV"
Bonjour Erwan,

Sub zaza()
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value
End Sub

ou encore, avec les plage nommées: Feuil1!A1:A10 (Zn) et Feuil2!A1:A10
(desT)

Sub zaza()
[desT] = [Zn].Value
End Sub


ChrisV


"erwan"
Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4...
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine...
Merci d'avance
Erwan




papou
Le #5011981
Salut Denis
Tu me rassures donc ;-)

Cordialement
Pascal

"MichDenis" esauaK%
| Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

D'entrée de jeu, l'utilisation des crochets n'apporte rien dans ce type de
situation
si ce n'est qu'un peu de confusion aux néophytes qui fréquentent ce forum.

Pour toi Papou,

A ) faut faire la différence entre une plage de cellule désignée par une
Classe d'objet en l'occurence : "Range"
C'est dans cette classe d'objet qui est défini toutes les propriétés et
méthodes
de l'objet "Range" ainsi que la propriété par défaut "Value"
Lorsque tu utilises l'objet "Range" comme dans Range("A1:A10") en
l'absence
d'une propriété définie par l'usager, "Value" est celle attribuée par
défaut.

[A1:A10] -> les crochets est une autre façon d'écrire ou de faire
référence
à la méthode "Evaluate" de l'objet "application". Elle n'a pas de
propriété par
défaut, elle ne permet pas à la saisie d'avoir une liste déroulante
pour aider
l'usager à déterminer la propriété ou méthode appropriée à l'action qui
veut poser...
De plus, elle effectue une opération totalement inutile dans le cas
d'une simple copie
celui d'évaluer les cellules !!!

Dans l'exemple qui nous concerne, si tu écris comme ceci la commande :
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]
Rien ne sera copiée pour les raisons énoncées... Tu dois
obligatoirement
écrire Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value

Et au sujet de ceci : Sheets("Feuil2").[A1:A10] , les crochets sont
utilisées
simplement pour couper quelques caractères à ce que devrait être la
ligne de commande Sheets("Feuil2").range("A1:A10") . Personnellement
je ne crois pas que ce soit une raison valable !!! Chacun a droit à ses
petites lubies !




"papou" news:

Bonjour ChrisV
Une subtilité m'échappe ;-)
Pourrais-tu expliquer pourquoi tu intègres une propriété .Value sur
l'évaluation de la deuxième plage de cellules ?
Si je fais le test sans cette propriété j'obtiens le résultat attendu.
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

J'aurai d'ailleurs personnellement tendance à plutôt proposer :
Sheets('Feuil2").Range("A1:A10") = Sheets("Feuil1").[A1:A10]
Puisqu'il ne m'apparaît pas utile d'évaluer des plages qui vont recevoir
une
valeur.

Merci pour ton éclaircissement.

Cordialement
Pascal

"ChrisV"
Bonjour Erwan,

Sub zaza()
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value
End Sub

ou encore, avec les plage nommées: Feuil1!A1:A10 (Zn) et Feuil2!A1:A10
(desT)

Sub zaza()
[desT] = [Zn].Value
End Sub


ChrisV


"erwan"
Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4...
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine...
Merci d'avance
Erwan









papou
Le #5011961
Heu Denis
Désolé répondu un peu vite !

Dans l'exemple qui nous concerne, si tu écris comme ceci la commande :
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]
Rien ne sera copiée pour les raisons énoncées...


Si si je te confirme : les valeurs sont bien recopiées sans problème (test
sur un Excel 2007).

Mais sur le fond il semble que nous soyons bien d'accord sur l'utilisation
de la méthode d'évaluation.

Cordialement
Pascal


"MichDenis" esauaK%
| Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

D'entrée de jeu, l'utilisation des crochets n'apporte rien dans ce type de
situation
si ce n'est qu'un peu de confusion aux néophytes qui fréquentent ce forum.

Pour toi Papou,

A ) faut faire la différence entre une plage de cellule désignée par une
Classe d'objet en l'occurence : "Range"
C'est dans cette classe d'objet qui est défini toutes les propriétés et
méthodes
de l'objet "Range" ainsi que la propriété par défaut "Value"
Lorsque tu utilises l'objet "Range" comme dans Range("A1:A10") en
l'absence
d'une propriété définie par l'usager, "Value" est celle attribuée par
défaut.

[A1:A10] -> les crochets est une autre façon d'écrire ou de faire
référence
à la méthode "Evaluate" de l'objet "application". Elle n'a pas de
propriété par
défaut, elle ne permet pas à la saisie d'avoir une liste déroulante
pour aider
l'usager à déterminer la propriété ou méthode appropriée à l'action qui
veut poser...
De plus, elle effectue une opération totalement inutile dans le cas
d'une simple copie
celui d'évaluer les cellules !!!

Dans l'exemple qui nous concerne, si tu écris comme ceci la commande :
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]
Rien ne sera copiée pour les raisons énoncées... Tu dois
obligatoirement
écrire Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value

Et au sujet de ceci : Sheets("Feuil2").[A1:A10] , les crochets sont
utilisées
simplement pour couper quelques caractères à ce que devrait être la
ligne de commande Sheets("Feuil2").range("A1:A10") . Personnellement
je ne crois pas que ce soit une raison valable !!! Chacun a droit à ses
petites lubies !




"papou" news:

Bonjour ChrisV
Une subtilité m'échappe ;-)
Pourrais-tu expliquer pourquoi tu intègres une propriété .Value sur
l'évaluation de la deuxième plage de cellules ?
Si je fais le test sans cette propriété j'obtiens le résultat attendu.
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

J'aurai d'ailleurs personnellement tendance à plutôt proposer :
Sheets('Feuil2").Range("A1:A10") = Sheets("Feuil1").[A1:A10]
Puisqu'il ne m'apparaît pas utile d'évaluer des plages qui vont recevoir
une
valeur.

Merci pour ton éclaircissement.

Cordialement
Pascal

"ChrisV"
Bonjour Erwan,

Sub zaza()
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value
End Sub

ou encore, avec les plage nommées: Feuil1!A1:A10 (Zn) et Feuil2!A1:A10
(desT)

Sub zaza()
[desT] = [Zn].Value
End Sub


ChrisV


"erwan"
Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4...
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine...
Merci d'avance
Erwan









MichDenis
Le #5011941
Test sous 2003 -> rien n'est recopié

Je ne savais pas qu'il y avait une autre Version ...2007, tu dis ?


"papou" eX%23YIQ%
Heu Denis
Désolé répondu un peu vite !

Dans l'exemple qui nous concerne, si tu écris comme ceci la commande :
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]
Rien ne sera copiée pour les raisons énoncées...


Si si je te confirme : les valeurs sont bien recopiées sans problème (test
sur un Excel 2007).

Mais sur le fond il semble que nous soyons bien d'accord sur l'utilisation
de la méthode d'évaluation.

Cordialement
Pascal


"MichDenis" esauaK%
| Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

D'entrée de jeu, l'utilisation des crochets n'apporte rien dans ce type de
situation
si ce n'est qu'un peu de confusion aux néophytes qui fréquentent ce forum.

Pour toi Papou,

A ) faut faire la différence entre une plage de cellule désignée par une
Classe d'objet en l'occurence : "Range"
C'est dans cette classe d'objet qui est défini toutes les propriétés et
méthodes
de l'objet "Range" ainsi que la propriété par défaut "Value"
Lorsque tu utilises l'objet "Range" comme dans Range("A1:A10") en
l'absence
d'une propriété définie par l'usager, "Value" est celle attribuée par
défaut.

[A1:A10] -> les crochets est une autre façon d'écrire ou de faire
référence
à la méthode "Evaluate" de l'objet "application". Elle n'a pas de
propriété par
défaut, elle ne permet pas à la saisie d'avoir une liste déroulante
pour aider
l'usager à déterminer la propriété ou méthode appropriée à l'action qui
veut poser...
De plus, elle effectue une opération totalement inutile dans le cas
d'une simple copie
celui d'évaluer les cellules !!!

Dans l'exemple qui nous concerne, si tu écris comme ceci la commande :
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]
Rien ne sera copiée pour les raisons énoncées... Tu dois
obligatoirement
écrire Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value

Et au sujet de ceci : Sheets("Feuil2").[A1:A10] , les crochets sont
utilisées
simplement pour couper quelques caractères à ce que devrait être la
ligne de commande Sheets("Feuil2").range("A1:A10") . Personnellement
je ne crois pas que ce soit une raison valable !!! Chacun a droit à ses
petites lubies !




"papou" news:

Bonjour ChrisV
Une subtilité m'échappe ;-)
Pourrais-tu expliquer pourquoi tu intègres une propriété .Value sur
l'évaluation de la deuxième plage de cellules ?
Si je fais le test sans cette propriété j'obtiens le résultat attendu.
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

J'aurai d'ailleurs personnellement tendance à plutôt proposer :
Sheets('Feuil2").Range("A1:A10") = Sheets("Feuil1").[A1:A10]
Puisqu'il ne m'apparaît pas utile d'évaluer des plages qui vont recevoir
une
valeur.

Merci pour ton éclaircissement.

Cordialement
Pascal

"ChrisV"
Bonjour Erwan,

Sub zaza()
Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10].Value
End Sub

ou encore, avec les plage nommées: Feuil1!A1:A10 (Zn) et Feuil2!A1:A10
(desT)

Sub zaza()
[desT] = [Zn].Value
End Sub


ChrisV


"erwan"
Bonjour,
Est ce que quelqu'un pourrait me donner le code necessaire en VBA pour
coller les cellules A1 à A10 de la feuille1 vers les cellules A1 à A10
de la feuille 2 SANS QUITTER ma feuille active qui est soit la feuille
3 soit la feuille 4...
Merci d'avance pour votre aide!
En utilisant, la méthode Select, j'arrrive à faire mon copier-coller
mais je ne retourne pas à ma feuille d'origine...
Merci d'avance
Erwan









perso
Le #5011451
Bjr messieurs,

Sub Macro1()

Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

End Sub

Ne recopie pas en feuille 2 les valeurs de la plage A1:A10 de la
feuille 1 sous Excel 2007......
J'ai fait le test sur les 2 versions (2003/2007) la plage A1:A10 de la
feuille 2 reste vierge dans les deux cas

Pour info et bonne journée à tous,

Pat REDNEF
MichDenis
Le #5011161
J'ai fait le test sur les 2 versions (2003/2007) la plage A1:A10 de la
feuille 2 reste vierge dans les deux cas

T'as vu ça Papou ?????????? Est-ce vraiment un cas litigieux ????

Merci à Pat REDNEF



Bjr messieurs,

Sub Macro1()

Sheets("Feuil2").[A1:A10] = Sheets("Feuil1").[A1:A10]

End Sub

Ne recopie pas en feuille 2 les valeurs de la plage A1:A10 de la
feuille 1 sous Excel 2007......
J'ai fait le test sur les 2 versions (2003/2007) la plage A1:A10 de la
feuille 2 reste vierge dans les deux cas

Pour info et bonne journée à tous,

Pat REDNEF
Publicité
Poster une réponse
Anonyme