XL 2013 activesheet vs sheets

  • Initiateur de la discussion Initiateur de la discussion Jojo973
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Jojo973

XLDnaute Occasionnel
Supporter XLD
Bonjour,

j'ai une macro qui s'exécute sur deux feuilles, elle a pour but d'effacer des plages de cellules

voici le code :

Code:
y = 7
x = 3
d = 1


'activesheet

ActiveSheet.Range(Cells(y, x), Cells(y + 30, x + 1)).ClearContents


'sheet résultats
y = 7
x1 = 3
x2 = x1 + 3

For e = 1 To 28

Sheets("R" & d).Range(Cells(y, x1), Cells(y + 30, x1 + 1)).ClearContents '===> ca plante ici

Sheets("R" & d).Range(Cells(y, x2), Cells(y + 30, x2 + 3)).ClearContents

y = y + 39
x1 = Cells(44, 1).Value
x2 = x1 + 3

Next e

Tout fonctionne jusqu'à "Sheets ("R"&d)". et visiblement c'est sur le range que ça bogue.
Je pense que c'est une erreur de syntaxe, si vous avez une idée, merci d'avance.
 
Re : activesheet vs sheets

Bonjour cyrikou

C'est a mon avis la valeur de x1 qui pose probleme
a un moment Cells(44, 1).Value devient vide par la ligne
Sheets("R" & d).Range(Cells(y, x1), Cells(y + 30, x1 + 1)).ClearContents
Si tu nous disais ce que tu cherche à faire avec un petit fichier exemple on pourrait t'aiguiller sur un code correct
 
Re : activesheet vs sheets

Bonjour Pierre et Tatiak,

le code sur l'activesheet fonctionne sans problèmes, c'est dès qu'il faut travailler sur la feuille R1 que cela plante, de plus je me suis trompé sur le code que je vous ai donné, en effet les variables, x,y, x1,x2 et d s'initialisent sur des cellules, pour le coup la cellule (44,1) à la valeur de 3. A chaque passage de la boucle, je reinitialise x,x1 et x2 par truchement.

Cette macro est faites pour effacer des plages de cellules et utilisables pour différentes feuilles.

J'ai mis une fenêtre espion et cela me dis que " : Visible : <Impossible de lire la propriété Visible de la classe Sheets.> "

😕 kezako?
 
Dernière édition:
Re : activesheet vs sheets

Bonsoir
Vous ne pouvez pas pas construire une plage d'une feuille spécifiée délimitée par des de cellules d'une autre feuille. En l'occurrence des cellules de la feuille active non précisée.
 
Re : activesheet vs sheets

Ben la ce n'est pas du tout le cas. La cellule (44,1) n'est utilisée qu'à l'initialisation et la valeur de cette cellule ne varie pas pendant la procédure, en l'occurrence elle vaut 3. J'ai déjà utilisé cette procédure ailleurs mais pas avec le range(cells1,cells2) et ça fonctionne très bien.
 
Re : activesheet vs sheets

Visiblement cella provient du"range" qui ne voit pas les cellules, en gros impossible de définir la plage sur l'autre feuille ("R"&d).

Ma question est plus générale : comment faire pour travailler sur deux feuilles distinctes avec range.

J'ai joint un fichier en reprenant la macro et la structure de mon fichier initial.
Cela plante au même endroit.
 

Pièces jointes

Re : activesheet vs sheets

Bonsoir pierrejean, tatiak, Dranreb,
Bonsoir cyrikou,

En réécrivant la boucle comme ceci:

Code:
For e = 1 To 3
  With Sheets("R" & d)
    .Range(.Cells(y, x1), .Cells(y, x1 + 1)).ClearContents
    .Range(.Cells(y, x2), .Cells(y, x2 + 1)).ClearContents
    y = y + 21
    x1 = xt
  End With
Next e
L'erreur se produit sur la ligne suivante. C'est normal, car x2 est vide (pas d'affectation de valeur dans le code). Je pense que si tu résouts ton problème de variables (que toi seul peut comprendre sans autre explication) la deuxième ligne d'effacement devrait fonctionner également.

Cordialement.
 
Re : activesheet vs sheets

Milles excuses, je ne sais pas ce que j'ai fabriqué, j'ai modifié le code et j'avais oublié de supprimer x2 et la sa fonctionne. Je ne sais pas si cela fonctionnera sur mon code original mais je vais voir.
 

Pièces jointes

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
1
Affichages
607
Réponses
0
Affichages
597
Réponses
2
Affichages
432
Réponses
17
Affichages
2 K
Retour