Erreur d'exécution 1004 - erreur définie par l'application ou par l'objet

Le
j-pascal
Bonjour,

Je ne comprends pas pourquoi j'ai le message ci-dessus pour ce bout de
code :

Sheets(Worksheets.Count).Select
Range("A16:G600,L16:M600,O16:O600").Select
'Selection.ClearContents
End With


Merci pour vos lumières,

JP

PS : Je sais qu'il faut limiter les "Select", mais je vois ça plus tard
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacky
Le #19118461
Bonjour,

Ce code n'est pas complet, ou le "End With" est de trop.
Ceci efface le contenu des plages " A16:G600,L16:M600,O16:O600" de la
dernière feuille du classeur actif (sans selection)

Sheets(Worksheets.Count).Range("A16:G600,L16:M600,O16:O600").ClearContents

--
Salutations
JJ


"j-pascal"
Bonjour,

Je ne comprends pas pourquoi j'ai le message ci-dessus pour ce bout de
code :

Sheets(Worksheets.Count).Select
Range("A16:G600,L16:M600,O16:O600").Select
'Selection.ClearContents
End With


Merci pour vos lumières,

JP

PS : Je sais qu'il faut limiter les "Select", mais je vois ça plus tard




j-pascal
Le #19118861
Bonjour,

Désolé, j'ai mal recopié. J'ai toujours le même code d'erreur avec :

'------------
Sub essai_sél()
Sheets(Worksheets.Count).Select
Range("A16:G600,L16:M600,O16:O600").Select
End Sub
'------------

Je suis sur la feuille n°1 (ie)
Je lance ce code depuis un module standard
Le dernier onglet devient l'onglet sélectionné (donc actif ?)
Le code d'erreur apparaît!

JP

PS : je préfère gérer la sélection avant de passer à l'effacement.

Bonjour,

Ce code n'est pas complet, ou le "End With" est de trop.
Ceci efface le contenu des plages " A16:G600,L16:M600,O16:O600" de la
dernière feuille du classeur actif (sans selection)

Sheets(Worksheets.Count).Range("A16:G600,L16:M600,O16:O600").ClearContents

--
Salutations
JJ


"j-pascal"
Bonjour,

Je ne comprends pas pourquoi j'ai le message ci-dessus pour ce bout de code
:

Sheets(Worksheets.Count).Select
Range("A16:G600,L16:M600,O16:O600").Select
'Selection.ClearContents
End With


Merci pour vos lumières,

JP

PS : Je sais qu'il faut limiter les "Select", mais je vois ça plus tard






j-pascal
Le #19118851
Même si je remplace la zone de sélection multiple par [a12].select (ie)
j'ai le msg d'erreur !


Bonjour,

Ce code n'est pas complet, ou le "End With" est de trop.
Ceci efface le contenu des plages " A16:G600,L16:M600,O16:O600" de la
dernière feuille du classeur actif (sans selection)

Sheets(Worksheets.Count).Range("A16:G600,L16:M600,O16:O600").ClearContents

--
Salutations
JJ


"j-pascal"
Bonjour,

Je ne comprends pas pourquoi j'ai le message ci-dessus pour ce bout de code
:

Sheets(Worksheets.Count).Select
Range("A16:G600,L16:M600,O16:O600").Select
'Selection.ClearContents
End With


Merci pour vos lumières,

JP

PS : Je sais qu'il faut limiter les "Select", mais je vois ça plus tard






j-pascal
Le #19119271
Oups, mon code est dans un module de feuille (qui n'est pas la dernière
feuille ...)

Dommage que VBA ne soit pas plus explicite sur la nature des erreurs
;-)

Bonjour,

Ce code n'est pas complet, ou le "End With" est de trop.
Ceci efface le contenu des plages " A16:G600,L16:M600,O16:O600" de la
dernière feuille du classeur actif (sans selection)

Sheets(Worksheets.Count).Range("A16:G600,L16:M600,O16:O600").ClearContents

--
Salutations
JJ


"j-pascal"
Bonjour,

Je ne comprends pas pourquoi j'ai le message ci-dessus pour ce bout de code
:

Sheets(Worksheets.Count).Select
Range("A16:G600,L16:M600,O16:O600").Select
'Selection.ClearContents
End With


Merci pour vos lumières,

JP

PS : Je sais qu'il faut limiter les "Select", mais je vois ça plus tard






FFO
Le #19119261
Salut Pascal

Ce code fonctionne trés bien chez moi
Prend un classeur tout neuf et refais des essais avec ce code

Dis nous !!!!!
j-pascal
Le #19120451
Bonjour MichDenis,

C'est noté, merci.

JP

Bonjour J-Pascal,

Si tu utilisais ce type de syntaxe, tu pourrais écrire ton code
de la même manière que ce dernier soit dans un module standard
ou un module feuille. Il est en plus facile à lire.

with Sheets(Worksheets.Count)
with .Range("A16:G600,L16:M600,O16:O600")
.ClearContents
End With
End With

Il est préférable de remplacer ceci : Sheets(Worksheets.Count)
par la propriété "Name" de l'objet "Feuille" présent dans la
fenêtre de l'éditeur de code. Le code devient :

with Feuil4 'Ou autre
with .Range("A16:G600,L16:M600,O16:O600")
.ClearContents
End With
End With

Cette façon d'écrire rend ton code à l'épreuve de la modification
de l'ordre des feuilles ou de leur nom d'onglet de feuille.




"j-pascal" discussion : Bonjour,

Je ne comprends pas pourquoi j'ai le message ci-dessus pour ce bout de
code :

Sheets(Worksheets.Count).Select
Range("A16:G600,L16:M600,O16:O600").Select
'Selection.ClearContents
End With


Merci pour vos lumières,

JP

PS : Je sais qu'il faut limiter les "Select", mais je vois ça plus tard


Publicité
Poster une réponse
Anonyme