OVH Cloud OVH Cloud

Selection - plantage

3 réponses
Avatar
vswildcat
Bonjour,

Il y a un semaine, mes macros (qui tournaient très bien jusque là), ce sont
mis à planter.

L'erreur vient de "selection", ce code n'est plus accepté.

exemple simple :

Sub selection()
Cells.Select
selection.Copy
Workbooks.Add
ActiveSheet.Paste
End Sub

Et bien la macro s'arrête à la deuxième ligne sur selection. Je dois
remplacer "selection" par l'objet selectionné (ici Cells).

Je vous laisse imaginer le temps perdu a refaire les macros, et pour
identifier la bonne selection qui peut se trouver 3 pages plus haut...

En plus, cette macro en exemple, je l'ai faite avec l'enregistreur, c'est
donc Excel lui même qui utilise "selection". Et quand je lance la macro, il
bugg...

Avez-vous une idée ?

Merci d'avance

3 réponses

Avatar
Modeste
Bonsour® vswildcat avec ferveur ;o))) vous nous disiez :

Il y a un semaine, mes macros (qui tournaient très bien jusque là), ce
sont
mis à planter.
L'erreur vient de "selection", ce code n'est plus accepté.


;o)))
comme tu ne l'as peut etre pas remarqué ...
le "s" de selection.Copy est resté en minuscule, VBA n'a pas su interpreter
le terme...

en effet Selection est un mot réservé de VBA et désigne l'objet sélectionné
il ne peut donc pas etre utilisé pour désigner une procédure !!!!

ceci devrait améliorer les choses...

Sub Ma_Selection()
Cells.Select
Selection.Copy
Workbooks.Add
ActiveSheet.Paste
End Sub



--
;o)))
@+

Les news à la source !!!
news://news.microsoft.com/microsoft.public.fr.excel
et répondez OUI

n'oubliez pas les FAQ :http://www.excelabo.net
http://dj.joss.free.fr/faq.htm
http://www.faqoe.com http://faqword.free.fr

Avatar
Rai
Bonjour,

Il y a un semaine, mes macros (qui tournaient très bien jusque là), ce sont
mis à planter.

L'erreur vient de "selection", ce code n'est plus accepté.

exemple simple :

Sub selection()
Cells.Select
selection.Copy
Workbooks.Add
ActiveSheet.Paste
End Sub

Et bien la macro s'arrête à la deuxième ligne sur selection. Je dois
remplacer "selection" par l'objet selectionné (ici Cells).

Je vous laisse imaginer le temps perdu a refaire les macros, et pour
identifier la bonne selection qui peut se trouver 3 pages plus haut...

En plus, cette macro en exemple, je l'ai faite avec l'enregistreur, c'est
donc Excel lui même qui utilise "selection". Et quand je lance la macro, il
bugg...

Avez-vous une idée ?

Merci d'avance


Bonjour,

En premier lieu, je suis très surpris que ta macro ait fonctionnée un
jour...
En effet, 'selection' est un mot réservé du VBA.
Du coup quand tu nommes ta macro 'selection', la commande selection.copy
ne désigne plus l'objet selection (ta plage de cellules de ta feuille)
mais ta macro elle-même. mamacro.copy = erreur.

AMHA, tu dois avoir changé quelquechose entre le moment où ta macro
fonctionnait et maintenant (genre le nom de ta macro).

Pour résoudre ton problème, renomme ta macro (genre MaSelection) et le
tour sera joué

Cordialement

Rai

Avatar
vswildcat
Merci à vous deux !!!

En effet, j'ai dégagé cette macro, et ça fonctionne à nouveau.

Je ne comprends toujours pas pourquoi ça a planté la première fois, mais je
penserais à éviter de mettre des codes "réservés" dans les noms de mes macros.

;o)


Bonjour,

Il y a un semaine, mes macros (qui tournaient très bien jusque là), ce sont
mis à planter.

L'erreur vient de "selection", ce code n'est plus accepté.

exemple simple :

Sub selection()
Cells.Select
selection.Copy
Workbooks.Add
ActiveSheet.Paste
End Sub

Et bien la macro s'arrête à la deuxième ligne sur selection. Je dois
remplacer "selection" par l'objet selectionné (ici Cells).

Je vous laisse imaginer le temps perdu a refaire les macros, et pour
identifier la bonne selection qui peut se trouver 3 pages plus haut...

En plus, cette macro en exemple, je l'ai faite avec l'enregistreur, c'est
donc Excel lui même qui utilise "selection". Et quand je lance la macro, il
bugg...

Avez-vous une idée ?

Merci d'avance


Bonjour,

En premier lieu, je suis très surpris que ta macro ait fonctionnée un
jour...
En effet, 'selection' est un mot réservé du VBA.
Du coup quand tu nommes ta macro 'selection', la commande selection.copy
ne désigne plus l'objet selection (ta plage de cellules de ta feuille)
mais ta macro elle-même. mamacro.copy = erreur.

AMHA, tu dois avoir changé quelquechose entre le moment où ta macro
fonctionnait et maintenant (genre le nom de ta macro).

Pour résoudre ton problème, renomme ta macro (genre MaSelection) et le
tour sera joué

Cordialement

Rai