feuille active par défaut

  • Initiateur de la discussion Initiateur de la discussion daftsound
  • 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 !

D

daftsound

Guest
Bonjour à tous,

jusqu'a présent j'ai trouvé toute mes réponse dans ce forum, mais la, je seche:

Je cherche à fusioner des célules sur un nombre de ligne défini et sur une feuille spécifique.
J'utilise:

Worksheets(1 + i).Range(Cells(b + m + 1, 1), Cells(b + m + r, 1)).Merge

Et cela ne fonctionne pas, il me lance le debogueur, la seule facon que cela fonctionne est de suprimer la référence a la feuille sur laquelle je veux fusionner mes célules:

Range(Cells(b + m + 1, 1), Cells(b + m + r, 1)).Merge

Cependant dans ce cas, il me fusione les célules de ma premiere feuille et non celles de la feuille désirée, j'ai exactement le meme problème avec la création des bordures.

Si quelqu'un pouvais m'aider, ce serait vraiment sympa.

Merci d'avance.
 
Pour que cela puisse fonctionner il faudrait écrire

Dim i as Integer
Dim Sh As Worksheets

set Sh = Worksheets ('Feuil' & i)

With Sh
.Range(Cells(b + m + 1, 1), Cells(b + m + r, 1)).Merge
End With

'Note en passant. Les conventions(mais ce ne sont que des conventions!) voudrait que les variable prénomées par W ou w fasse référence à des objets Workbook (Classeurs) et pour les feuilles : 'sh'

Cela permet d'avoir un code plus clair et que chacun puissent lire sans trop de difficulté.

Encore une fois ce ne sont que des conventions 😉
 
Pascal,

Visiblement, cela ne change rien au problème, il me prend toujours les cases de la première feuille.

Toutou,

J'ai été obligé de modifier ta proposition comme suit:

Dim ws As Worksheet
Set ws = Worksheets(1 + i)
With ws
Range(Cells(b + m + 1, 1), Cells(b + m + r, 1)).Merge
End With

car sinon, cela pose un probleme avec with. Par contre ca me prend toujour les cases de la premiere feuille...
 
en fait mon i est bien alimenté et il est automatiquement supérieur ou égal à 1, je l'utilise avant et après cet instruction et cela fonctionne tres bien, il n'y a qu'avec la fusion et le formatage des c&élules que ca ne fonctionne pas...
 
Pour info,

Apres plusieurs heures de manipulations dans tous les sens, j'ai réussi a arriver à ce que je voulait ainsi:

Worksheets(1 + i).Range(Worksheets(1 + i).Cells(b + m + 1, 1),Worksheets(1 + i).Cells(b + m + r, 1)).Select
Selection.Merge
 
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
1
Affichages
994
lilidxb
L
S
Réponses
4
Affichages
2 K
stage_ferrit
S
M
  • Question Question
Réponses
0
Affichages
1 K
Mirguy23
M
M
Réponses
20
Affichages
3 K
massol
M
Réponses
10
Affichages
3 K
HervéDuval
H
Retour