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

Heritage? Objet sheets et range

5 réponses
Avatar
Gregory Hilaire
Bien le bonjour le groupe

Une question pour laquelle je n'ai pas de réponse.

Pourquoi
Sheets("Feuil8").Select
Range("B2").Select
Fonctionne très bien

Sheets("Feuil8").Range("B2").Select

Génère une message d'erreur
Erreur d'exécution 1004
La méthode select de la classe Range a échoué"

Merci pour toute aide

Greg

5 réponses

Avatar
Jacky
Bonsoir,

Pour la méthode "Select" Excel a besoin que la feuille soit activée ou
sélectionnée.
Feuil2.Activate
Sheets("Feuil2").Range("B2").Select
Contrairement à : "copy", "renseigner une cellule" , ou encore "écrire dans
une cellule", que l'on peut faire sans "activate" ou "select"

--
Salutations
JJ


"Gregory Hilaire" a écrit dans le message de news:

Bien le bonjour le groupe

Une question pour laquelle je n'ai pas de réponse.

Pourquoi
Sheets("Feuil8").Select
Range("B2").Select
Fonctionne très bien

Sheets("Feuil8").Range("B2").Select

Génère une message d'erreur
Erreur d'exécution 1004
La méthode select de la classe Range a échoué"

Merci pour toute aide

Greg



Avatar
Tatanka
Ou bien :

Sub essai()
Feuil2.Activate
[b2].Select
End Sub

Serge


"Gregory Hilaire" a écrit dans le message de news:
Bien le bonjour le groupe

Une question pour laquelle je n'ai pas de réponse.

Pourquoi
Sheets("Feuil8").Select
Range("B2").Select
Fonctionne très bien

Sheets("Feuil8").Range("B2").Select

Génère une message d'erreur
Erreur d'exécution 1004
La méthode select de la classe Range a échoué"

Merci pour toute aide

Greg



Avatar
LSteph
Bonsoir,

En quelque sorte parcequ'il faut activer d'abord l'autre feuille
histoire de propriétés

Tu pourrais utiliser aussi

Application.Goto Sheets("Feuil8").Range("B2")


MAIS... n'est pas utile non plus
Pas besoin de sélectionner pour agir


Select ne sert pratiquement qu'à alourdir!
Du moins pour les cellules ou plages.
Il n'est utile que pour les objets ou graphiques, et encore.

Exemple

Sheets("Feuil8").Activate
[b2].select
Selection.copy

pourrait être remplacé par

Sheets("Feuil8").[b2].copy

'Cordialement

'lSteph

Bien le bonjour le groupe

Une question pour laquelle je n'ai pas de réponse.

Pourquoi
Sheets("Feuil8").Select
Range("B2").Select
Fonctionne très bien

Sheets("Feuil8").Range("B2").Select

Génère une message d'erreur
Erreur d'exécution 1004
La méthode select de la classe Range a échoué"

Merci pour toute aide

Greg




Avatar
Tatanka
Et comme le dit si bien LSteph, pas besoin de sélectionner pour agir :

Sub Exemple()
With Sheets("Feuil2").[b2]
.Value = 100
.Interior.ColorIndex = 3
.Font.Name = "Comic Sans MS"
.Font.Size = 16
End With
End Sub

Serge

"Gregory Hilaire" a écrit dans le message de news:
Bien le bonjour le groupe

Une question pour laquelle je n'ai pas de réponse.

Pourquoi
Sheets("Feuil8").Select
Range("B2").Select
Fonctionne très bien

Sheets("Feuil8").Range("B2").Select

Génère une message d'erreur
Erreur d'exécution 1004
La méthode select de la classe Range a échoué"

Merci pour toute aide

Greg



Avatar
Gregory Hilaire
Merci Jacky!
Merci Tatanka!
Merci LSteph!

Merci pour vos judicieux conseils, j'ai opté pour la solution de LSteph! (
car je dois vous avouer que je n'aime pas la méthode select :) dont
l'enregistreur de macro parsème le code généré. Donc je voulais simplement
une manière d'en utiliser le moins que possible). Je dois absolument aller à
cette feuille et à cette cellule. J'ai donc utilisé Application.Goto
Sheets("Feuil8").Range("B2")


"Tatanka" a écrit dans le message de news:
%
Et comme le dit si bien LSteph, pas besoin de sélectionner pour agir :

Sub Exemple()
With Sheets("Feuil2").[b2]
.Value = 100
.Interior.ColorIndex = 3
.Font.Name = "Comic Sans MS"
.Font.Size = 16
End With
End Sub

Serge

"Gregory Hilaire" a écrit dans le message de news:

Bien le bonjour le groupe

Une question pour laquelle je n'ai pas de réponse.

Pourquoi
Sheets("Feuil8").Select
Range("B2").Select
Fonctionne très bien

Sheets("Feuil8").Range("B2").Select

Génère une message d'erreur
Erreur d'exécution 1004
La méthode select de la classe Range a échoué"

Merci pour toute aide

Greg