Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Récupérer valeur cellule de la feuille précédente et lui ajouter une valeur

JVOS

XLDnaute Junior
Bonjour à Tous
Je suis débutante et je bute sur un élément qui paraîtra surement très simple, voici ma macro :
Sub Nvlle_Feuille()
Sheets(1).Copy Before:=Sheets(1)
ActiveSheet.Name = "S"
Range("I3:AO50").Select
Selection.SpecialCells(xlCellTypeVisible).ClearContents
Selection.Interior.Color = xlColorIndexNone
Range("BB3:BD50").ClearContents
ActiveSheet.Range("I2").Value = ActiveSheet(Index - 1).Range("I2").Value + 7
End Sub

La ligne en gras est censé en "I2" de la nouvelle feuille récupérer la valeur de "I2" de la feuille précédente + 7

Merci pour votre aide
 

JVOS

XLDnaute Junior
Rebonjour à Tous
Décidément j'ai encore besoin de vous...
Comme je dois aussi utiliser la formule
=SOMMEPROD(SOMME.SI(INDIRECT("'"&Semaines&"'!A:A");[@[NOM PRENOM]];INDIRECT("'"&Semaines&"'!BH:BH")))
dans mon onglet PERSONNEL! et que pour ça il faut que"Semaines" soit definie seulement avec les onglet presents dans le fichier...
Serait il possible que à chaque fois que la nouvelle feuille est créée cela me crée aussi son nom dans un tableau qui se trouverait à partir de T3 dans l'onglet PERSONNEL pour tenir à jour "Semaines"

Merci d'avance

Je rappelle la création de mes feuilles :

Sub Nvlle_Feuille()
Dim BE As Variant
Dim I As Integer

ici:
BE = Application.InputBox("Entrez le nom du nouvel onglet, type S+n°semaine-année ex. S25", "NOM", Type:=2)
If BE = False Or BE = "" Then Exit Sub
For I = 1 To Sheets.Count
If LCase(BE) = LCase(Sheets(I).Name) Then
MsgBox "Un onglet portant ce nom existe déjà, veuillez recommencer !"
GoTo ici
End If
Next I
Sheets(1).Copy Before:=Sheets(1)
ActiveSheet.Name = BE
With Range("I3:AO50").SpecialCells(xlCellTypeVisible)
.ClearContents: .Interior.Color = xlColorIndexNone
Selection.ListObject.Name = "T_" & BE
End With
Range("BB3:BD50").ClearContents
Range("I2") = Range("I2") + 7
End Sub
 

Staple1600

XLDnaute Barbatruc
Bonsoir le fil

Juste pour info
Si la norme de nommage est S+N°semaine =>S25 par exemple
alors lance cette macro pour voir pourquoi j'ai ainsi nommé cette macro de test
VB:
Sub BizarreLogique()
BE = "S25"
MsgBox LCase(BE)
EB = "S25"
MsgBox UCase(EB)
End Sub
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…