intercaler des onglets

alfazoulou

XLDnaute Occasionnel
Bonjour,
je voudrais savoir comment agir sur certains onglets de mon classeur sachant que ces onglets sont situés aprés l'onglet "toto" et avant l'onglet "titi".
Je sais comment faire en donnant leur place comme ci dessous:

Private Sub Calendar1_Click()

[Date].Value = Calendar1.Value

Sheets(3).Select
For i = 3 To 15
Sheets(i).Range("s1").Value = [Date].Value

Next
End Sub


mais pas en donnant leur position par rapports aux noms des onglets les encadrant.

Merci pour votre aide.
 

Pierrot93

XLDnaute Barbatruc
Re : intercaler des onglets

Bonjour,

pas sûr d'avoir bien compris ton problème, peut être que ceci t'aidera à avancer, renverra le nom de la feuille placée avant la feuille "toto"... :
Code:
MsgBox Sheets(Sheets("toto").Index - 1).Name
bon après midi
@+
 

alfazoulou

XLDnaute Occasionnel
Re : intercaler des onglets

merci pour ta réponse mais effectivement ce n'est pas ce que je recherche.
ton code me donne le nom de la feuille se trouvant avant la feuille "toto", moi ce que je voudrais c'est pouvoir inscrire par exemple la valeur de la cellule "a1 de la feuille "bibi" dans les cellules "a1" de toutes les feuilles se trouvant entre les feuilles "toto" et "titi" sachant que ce nombre de feuilles est variable et ne peut donc pas etre déterminée par un n° d'emplacement comme dans mon exemple.
 

job75

XLDnaute Barbatruc
Re : intercaler des onglets

Bonjour alfazoulou, salut Pierrot,

Code:
Private Sub Calendar1_Click()
Dim i As Integer, flag As Boolean
[Date] = Calendar1.Value
For i = 1 To Sheets.Count
  If Sheets(i).Name = "titi" Then flag = False
  If flag Then Sheets(i).Range("s1") = [Date]
  If Sheets(i).Name = "toto" Then flag = True
Next
End Sub
La variable flag permet de repérer quand commence l'action et quand elle se termine.

A+
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : intercaler des onglets

Bonjour le fil, bonjour le forum,

En partant de l'idée de base de Pierrot :
Code:
Sub Macro1()
Dim od As Integer
Dim of As Integer
Dim x As Integer
 
od = Sheets("toto").Index + 1
of = Sheets("titi").Index - 1
For x = od To of
    Sheets(x).Range("A1").Value = Sheets("bibi").Range("A1").Value
Next x
End Sub

[Édition]
Ooooops drolement en retard... Salut à tous !
 

Discussions similaires

Réponses
2
Affichages
513

Statistiques des forums

Discussions
312 338
Messages
2 087 393
Membres
103 537
dernier inscrit
alisafred974