Fonction ActiveSheet.Paste qui donne une "erreur Automation" !
5 réponses
Antoine
Bonjour à tous
Je ne comprend pas ce qui se passe avec une fonction aussi basique que
couper / coller un bloc de 2 cellules, qui me donne une erreur de macro sur
ActiveSheet.Paste : Erreur Automation (erreur 470).
L'insertion de "On error resume next" n'apporte aucune solution.
Serait-ce mon Excel qui débloque ? Ou...?
Le code contenu est pourtant très simple !
Range("T10:T11").Select
Selection.Cut
Range("BA6:BA7").Select
ActiveSheet.Paste
Range("lg8:lg3").Select
Selection.ClearContents
Range("BA6:BA7").Select
Selection.Cut
Range("T10:T11").Select
ActiveSheet.Paste
Pour le cas ou certains voudraient tester le fichier en Cjoint :
http://cjoint.com/?dztecgfFbo
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
michdenis
Bonjour Antoine,
As-tu essayé ceci comme syntaxe :
En supposant que l'action se passe entièrement sur la feuille don le nom de l'onglet est "Salariés"
'-------------------------------------- Sub reduction()
With Worksheets("Salariés") ' déplace la formule de calcul de l'âge .Range("T10:T11").Cut Range("BA67") .Range("lg8:lg3").ClearContents ' remet la formule de calcul de l'âge .Range("BA6:BA7").Cut .Range("T10") End With
End Sub '--------------------------------------
P.S. Je ne comprends pas pourquoi tu veux copier le contenu de T10:T11 vers BA67 pour copier par la suite le contenu de BA6:BA7 ver T10:T11 ????
Salutations!
"Antoine" a écrit dans le message de news: Bonjour à tous
Je ne comprend pas ce qui se passe avec une fonction aussi basique que couper / coller un bloc de 2 cellules, qui me donne une erreur de macro sur ActiveSheet.Paste : Erreur Automation (erreur 470). L'insertion de "On error resume next" n'apporte aucune solution. Serait-ce mon Excel qui débloque ? Ou...? Le code contenu est pourtant très simple ! Range("T10:T11").Select Selection.Cut Range("BA6:BA7").Select ActiveSheet.Paste Range("lg8:lg3").Select Selection.ClearContents Range("BA6:BA7").Select Selection.Cut Range("T10:T11").Select ActiveSheet.Paste
Pour le cas ou certains voudraient tester le fichier en Cjoint : http://cjoint.com/?dztecgfFbo
En supposant que l'action se passe entièrement sur la feuille
don le nom de l'onglet est "Salariés"
'--------------------------------------
Sub reduction()
With Worksheets("Salariés")
' déplace la formule de calcul de l'âge
.Range("T10:T11").Cut Range("BA67")
.Range("lg8:lg3").ClearContents
' remet la formule de calcul de l'âge
.Range("BA6:BA7").Cut .Range("T10")
End With
End Sub
'--------------------------------------
P.S. Je ne comprends pas pourquoi tu veux copier le contenu
de T10:T11 vers BA67 pour copier par la suite le contenu de
BA6:BA7 ver T10:T11 ????
Salutations!
"Antoine" <awerelASUPPRIMER@mageos.com> a écrit dans le message de news: us7zKcDUGHA.1236@TK2MSFTNGP11.phx.gbl...
Bonjour à tous
Je ne comprend pas ce qui se passe avec une fonction aussi basique que
couper / coller un bloc de 2 cellules, qui me donne une erreur de macro sur
ActiveSheet.Paste : Erreur Automation (erreur 470).
L'insertion de "On error resume next" n'apporte aucune solution.
Serait-ce mon Excel qui débloque ? Ou...?
Le code contenu est pourtant très simple !
Range("T10:T11").Select
Selection.Cut
Range("BA6:BA7").Select
ActiveSheet.Paste
Range("lg8:lg3").Select
Selection.ClearContents
Range("BA6:BA7").Select
Selection.Cut
Range("T10:T11").Select
ActiveSheet.Paste
Pour le cas ou certains voudraient tester le fichier en Cjoint :
http://cjoint.com/?dztecgfFbo
En supposant que l'action se passe entièrement sur la feuille don le nom de l'onglet est "Salariés"
'-------------------------------------- Sub reduction()
With Worksheets("Salariés") ' déplace la formule de calcul de l'âge .Range("T10:T11").Cut Range("BA67") .Range("lg8:lg3").ClearContents ' remet la formule de calcul de l'âge .Range("BA6:BA7").Cut .Range("T10") End With
End Sub '--------------------------------------
P.S. Je ne comprends pas pourquoi tu veux copier le contenu de T10:T11 vers BA67 pour copier par la suite le contenu de BA6:BA7 ver T10:T11 ????
Salutations!
"Antoine" a écrit dans le message de news: Bonjour à tous
Je ne comprend pas ce qui se passe avec une fonction aussi basique que couper / coller un bloc de 2 cellules, qui me donne une erreur de macro sur ActiveSheet.Paste : Erreur Automation (erreur 470). L'insertion de "On error resume next" n'apporte aucune solution. Serait-ce mon Excel qui débloque ? Ou...? Le code contenu est pourtant très simple ! Range("T10:T11").Select Selection.Cut Range("BA6:BA7").Select ActiveSheet.Paste Range("lg8:lg3").Select Selection.ClearContents Range("BA6:BA7").Select Selection.Cut Range("T10:T11").Select ActiveSheet.Paste
Pour le cas ou certains voudraient tester le fichier en Cjoint : http://cjoint.com/?dztecgfFbo
J'ai intégré le code que tu m'as renvoyé, mais il génère le même blocage ...
Le fichier avec le nouveau code est en Cjoint : http://cjoint.com/?dzxKfNLyMF
Quant à ta question sur le pourquoi de ce copier /coller de T10:T11 pour si peu : c'est en fait parce que cela fait parti d'une macro beaucoup plus longue, mais que par souci de concision, j'ai éliminé tout ce qui n'était pas au coeur du problème, c'est à dire avec le code réduit transmis, le problème perdure... Ce que je ne comprend pas, c'est pourquoi il y a ce problème ? Est-ce dû au fait que ces cellules ont un nom, ou que ces cellules sont correlées avec d'autres cellules adjacentes, au niveau de l'exploitation du résultat, ou...? "michdenis" a écrit dans le message de news: %
Bonjour Antoine,
As-tu essayé ceci comme syntaxe :
En supposant que l'action se passe entièrement sur la feuille don le nom de l'onglet est "Salariés"
'-------------------------------------- Sub reduction()
With Worksheets("Salariés") ' déplace la formule de calcul de l'âge .Range("T10:T11").Cut Range("BA67") .Range("lg8:lg3").ClearContents ' remet la formule de calcul de l'âge .Range("BA6:BA7").Cut .Range("T10") End With
End Sub '--------------------------------------
P.S. Je ne comprends pas pourquoi tu veux copier le contenu de T10:T11 vers BA67 pour copier par la suite le contenu de BA6:BA7 ver T10:T11 ????
Salutations!
"Antoine" a écrit dans le message de news:
Bonjour à tous
Je ne comprend pas ce qui se passe avec une fonction aussi basique que couper / coller un bloc de 2 cellules, qui me donne une erreur de macro sur ActiveSheet.Paste : Erreur Automation (erreur 470). L'insertion de "On error resume next" n'apporte aucune solution. Serait-ce mon Excel qui débloque ? Ou...? Le code contenu est pourtant très simple ! Range("T10:T11").Select Selection.Cut Range("BA6:BA7").Select ActiveSheet.Paste Range("lg8:lg3").Select Selection.ClearContents Range("BA6:BA7").Select Selection.Cut Range("T10:T11").Select ActiveSheet.Paste
Pour le cas ou certains voudraient tester le fichier en Cjoint : http://cjoint.com/?dztecgfFbo
J'ai intégré le code que tu m'as renvoyé, mais il génère le même blocage ...
Le fichier avec le nouveau code est en Cjoint :
http://cjoint.com/?dzxKfNLyMF
Quant à ta question sur le pourquoi de ce copier /coller de T10:T11 pour si
peu : c'est en fait parce que cela fait parti d'une macro beaucoup plus
longue, mais que par souci de concision, j'ai éliminé tout ce qui n'était
pas au coeur du problème, c'est à dire avec le code réduit transmis, le
problème perdure...
Ce que je ne comprend pas, c'est pourquoi il y a ce problème ? Est-ce dû au
fait que ces cellules ont un nom, ou que ces cellules sont correlées avec
d'autres cellules adjacentes, au niveau de l'exploitation du résultat,
ou...?
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
%239h77vDUGHA.4276@TK2MSFTNGP10.phx.gbl...
Bonjour Antoine,
As-tu essayé ceci comme syntaxe :
En supposant que l'action se passe entièrement sur la feuille
don le nom de l'onglet est "Salariés"
'--------------------------------------
Sub reduction()
With Worksheets("Salariés")
' déplace la formule de calcul de l'âge
.Range("T10:T11").Cut Range("BA67")
.Range("lg8:lg3").ClearContents
' remet la formule de calcul de l'âge
.Range("BA6:BA7").Cut .Range("T10")
End With
End Sub
'--------------------------------------
P.S. Je ne comprends pas pourquoi tu veux copier le contenu
de T10:T11 vers BA67 pour copier par la suite le contenu de
BA6:BA7 ver T10:T11 ????
Salutations!
"Antoine" <awerelASUPPRIMER@mageos.com> a écrit dans le message de news:
us7zKcDUGHA.1236@TK2MSFTNGP11.phx.gbl...
Bonjour à tous
Je ne comprend pas ce qui se passe avec une fonction aussi basique que
couper / coller un bloc de 2 cellules, qui me donne une erreur de macro
sur
ActiveSheet.Paste : Erreur Automation (erreur 470).
L'insertion de "On error resume next" n'apporte aucune solution.
Serait-ce mon Excel qui débloque ? Ou...?
Le code contenu est pourtant très simple !
Range("T10:T11").Select
Selection.Cut
Range("BA6:BA7").Select
ActiveSheet.Paste
Range("lg8:lg3").Select
Selection.ClearContents
Range("BA6:BA7").Select
Selection.Cut
Range("T10:T11").Select
ActiveSheet.Paste
Pour le cas ou certains voudraient tester le fichier en Cjoint :
http://cjoint.com/?dztecgfFbo
J'ai intégré le code que tu m'as renvoyé, mais il génère le même blocage ...
Le fichier avec le nouveau code est en Cjoint : http://cjoint.com/?dzxKfNLyMF
Quant à ta question sur le pourquoi de ce copier /coller de T10:T11 pour si peu : c'est en fait parce que cela fait parti d'une macro beaucoup plus longue, mais que par souci de concision, j'ai éliminé tout ce qui n'était pas au coeur du problème, c'est à dire avec le code réduit transmis, le problème perdure... Ce que je ne comprend pas, c'est pourquoi il y a ce problème ? Est-ce dû au fait que ces cellules ont un nom, ou que ces cellules sont correlées avec d'autres cellules adjacentes, au niveau de l'exploitation du résultat, ou...? "michdenis" a écrit dans le message de news: %
Bonjour Antoine,
As-tu essayé ceci comme syntaxe :
En supposant que l'action se passe entièrement sur la feuille don le nom de l'onglet est "Salariés"
'-------------------------------------- Sub reduction()
With Worksheets("Salariés") ' déplace la formule de calcul de l'âge .Range("T10:T11").Cut Range("BA67") .Range("lg8:lg3").ClearContents ' remet la formule de calcul de l'âge .Range("BA6:BA7").Cut .Range("T10") End With
End Sub '--------------------------------------
P.S. Je ne comprends pas pourquoi tu veux copier le contenu de T10:T11 vers BA67 pour copier par la suite le contenu de BA6:BA7 ver T10:T11 ????
Salutations!
"Antoine" a écrit dans le message de news:
Bonjour à tous
Je ne comprend pas ce qui se passe avec une fonction aussi basique que couper / coller un bloc de 2 cellules, qui me donne une erreur de macro sur ActiveSheet.Paste : Erreur Automation (erreur 470). L'insertion de "On error resume next" n'apporte aucune solution. Serait-ce mon Excel qui débloque ? Ou...? Le code contenu est pourtant très simple ! Range("T10:T11").Select Selection.Cut Range("BA6:BA7").Select ActiveSheet.Paste Range("lg8:lg3").Select Selection.ClearContents Range("BA6:BA7").Select Selection.Cut Range("T10:T11").Select ActiveSheet.Paste
Pour le cas ou certains voudraient tester le fichier en Cjoint : http://cjoint.com/?dztecgfFbo
| Ce que je ne comprend pas, c'est pourquoi il y a ce problème ?
Problème de syntaxe : La feuille de destination n'est pas définie car il manque un point avant Range("BA6:BA7")
Tu pourrais aussi abréger le code en : [Salariés!T10:T11].Cut [Salariés!BA6:BA7]
AV
Antoine
Bonjour AV
J'ai remplacé par ton code , mais cela bloque toujours sur la 1ère ligne avec pour message d'erreur : "Erreur d'exécution 1004 La méthode cut de la classe range a échoué".
Est-ce parce que la cellule T11 a une formule (qui calcule l'âge à partir de la date de naissance ou du N° SS) qui en l'absence de date de naissance et de N° SS ne renvoit aucune donnée et est donc vide en affichage? (N.B. la colonne "calcul de l'âge" calcule l'âge avec décimal, alors que la colonne "âge" fait en fait l'arrondi inférieur en années). Cette valeur calculée en T11 est ensuite exploitée en U11...
Je ne vois pas d'où peut venir le problème, sauf à ce que soit ma version de XP (SP2) ou Excel (2000 venant de office 2000 PME) !
Antoine
"AV" a écrit dans le message de news: emUk$
| Ce que je ne comprend pas, c'est pourquoi il y a ce problème ?
Problème de syntaxe : La feuille de destination n'est pas définie car il manque un point avant Range("BA6:BA7")
Tu pourrais aussi abréger le code en : [Salariés!T10:T11].Cut [Salariés!BA6:BA7]
AV
Bonjour AV
J'ai remplacé par ton code , mais cela bloque toujours sur la 1ère ligne
avec pour message d'erreur : "Erreur d'exécution 1004 La méthode cut de la
classe range a échoué".
Est-ce parce que la cellule T11 a une formule (qui calcule l'âge à partir de
la date de naissance ou du N° SS) qui en l'absence de date de naissance et
de N° SS ne renvoit aucune donnée et est donc vide en affichage? (N.B. la
colonne "calcul de l'âge" calcule l'âge avec décimal, alors que la colonne
"âge" fait en fait l'arrondi inférieur en années). Cette valeur calculée en
T11 est ensuite exploitée en U11...
Je ne vois pas d'où peut venir le problème, sauf à ce que soit ma version de
XP (SP2) ou Excel (2000 venant de office 2000 PME) !
Antoine
"AV" <alainPFFFvallon@wanadoo.fr> a écrit dans le message de news:
emUk$YKUGHA.4436@TK2MSFTNGP10.phx.gbl...
| Ce que je ne comprend pas, c'est pourquoi il y a ce problème ?
Problème de syntaxe :
La feuille de destination n'est pas définie car il manque un point avant
Range("BA6:BA7")
Tu pourrais aussi abréger le code en :
[Salariés!T10:T11].Cut [Salariés!BA6:BA7]
J'ai remplacé par ton code , mais cela bloque toujours sur la 1ère ligne avec pour message d'erreur : "Erreur d'exécution 1004 La méthode cut de la classe range a échoué".
Est-ce parce que la cellule T11 a une formule (qui calcule l'âge à partir de la date de naissance ou du N° SS) qui en l'absence de date de naissance et de N° SS ne renvoit aucune donnée et est donc vide en affichage? (N.B. la colonne "calcul de l'âge" calcule l'âge avec décimal, alors que la colonne "âge" fait en fait l'arrondi inférieur en années). Cette valeur calculée en T11 est ensuite exploitée en U11...
Je ne vois pas d'où peut venir le problème, sauf à ce que soit ma version de XP (SP2) ou Excel (2000 venant de office 2000 PME) !
Antoine
"AV" a écrit dans le message de news: emUk$
| Ce que je ne comprend pas, c'est pourquoi il y a ce problème ?
Problème de syntaxe : La feuille de destination n'est pas définie car il manque un point avant Range("BA6:BA7")
Tu pourrais aussi abréger le code en : [Salariés!T10:T11].Cut [Salariés!BA6:BA7]
AV
AV
Bien qu'ayant du mal à comprendre le pourquoi de "cet aller-retour", si j'exécute ces instructions dans ton fichier exemple, il n'y a aucun problème :