Sélection d'onglets en fonction d'ActiveSheet

lancelot92

XLDnaute Nouveau
Bonjour,

J'ai besoin de vous pour résoudre un problème qui vous paraîtra simple mais dont je n'ai pas trouvé la solution..
J'ai cette instruction (qui fonctionne d'ailleurs très bien) :
Code:
ActiveSheet.Range("R3").Value = Format(Date, "d-mmmm-yy")"

Cependant, j'aimerais écrire la date aussi dans les 3 onglets qui suivent l'onglet actif au même endroit que pour la feuille active (cellule R3)

Dernière chose, au cas ou il n'y ait pas d'onglet après celui actif je voudrai que l'instruction ne s'exécute simplement pas sans entacher la suite du code...

Un grand merci à vous par avance.
 

CBernardT

XLDnaute Barbatruc
Re : Sélection d'onglets en fonction d'ActiveSheet

Bonjour lancelot92,

A priori, une formule saisie dans les cellules des feuilles où l'on veut voir apparaître la valeur permet de renvoyer la valeur inscrite dans la cellule saisie dans la feuille active !
Un petit exemple sera le bienvenu si solution plus délicate.
 

Paf

XLDnaute Barbatruc
Re : Sélection d'onglets en fonction d'ActiveSheet

Bonjour lancelot92, CBernardT

S'il fallait absolument du code, une solution:
Code:
 For i = ActiveSheet.Index To ActiveSheet.Index + 3
    If i <= Worksheets.Count Then
        Worksheets(i).Range("R3") = Format(Date, "d-mmmm-yy")
    End If
 Next

A+
 

lancelot92

XLDnaute Nouveau
Re : Sélection d'onglets en fonction d'ActiveSheet

Bonjour CBernardT, Bonjour Paf,

CBernardT, en effet, avec une formule cela aurait aurait aussi marché, cependant je souhaitais l'exécution lors de l'appui sur un bouton. Paf, ta solution est parfaite ! Mois j'étais parti sur une usine à gaz mais sans succès...

Sub ecrirefeuille()
ActiveSheet.Range("R2").Value = "Envoyé le"
ActiveSheet.Range("R3").Value = Format(Date, "d-mmmm-yy")


If Worksheets(ActiveSheet.Index + 1).Name <> "" Then
Worksheets(ActiveSheet.Index + 1).Select
Range("R2").Select
Range("R2").Value = "Envoyé le"
Range("R3").Select
Range("R3").Value = Format(Date, "d-mmmm-yy")
Else
Exit Sub
End If


If Worksheets(ActiveSheet.Index + 1).Name <> "" Then
If ActiveSheet.Next.Visible = True Then
Worksheets(ActiveSheet.Index + 1).Select
Range("R2").Select
Range("R2").Value = "Envoyé le"
Range("R3").Select
Range("R3").Value = Format(Date, "d-mmmm-yy")
Else
Exit Sub
End If


If Worksheets(ActiveSheet.Index + 1).Name <> "" Then
If ActiveSheet.Next.Visible = True Then
Worksheets(ActiveSheet.Index + 1).Select
Range("R2").Select
Range("R2").Value = "Envoyé le"
Range("R3").Select
Range("R3").Value = Format(Date, "d-mmmm-yy")
Else
Exit Sub
End If

End Sub


Encore merci à vous !!

Problème résolu
 

Discussions similaires

Statistiques des forums

Discussions
312 571
Messages
2 089 797
Membres
104 275
dernier inscrit
Manu974