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

Incrémentation d'une cellule sur des feuilles successives

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

dephazz

Guest
Bonjour,

Je cherche à incrémenter une cellule A4 (où la valeur est 1) de la feuille nommée 2009 SEM1, de +1 dans la cellule A4 de la feuille suivante nommée 2009 SEM2 et ainsi de suite.
J'y arrive pas, il me garde la formule ='2009 SEM1'!A4+1 dans les feuilles suivantes et je reste à ...2.
J'aimerai avoir comme formule dans la cellule A4 de la feuille 2009 SEM3 : ='2009 SEM2'!A4+1
Merci de votre aide 🙂
 
Re : Incrémentation d'une cellule sur des feuilles successives

Re,

Bon voici déjà la version (2) avec les boutons.

Il a suffit d'ajouter cette macro :

Code:
Sub AjouterFeuilles()
Dim n As Variant, i As Byte
With Worksheets(1)
If Val(.[A4]) = 0 Then Application.Goto .[A4]: MsgBox "Renseignez la cellule A4": Exit Sub
n = InputBox("Nombre de feuilles :", "Ajouter feuilles")
n = Application.Min(Abs(Int(Val(n))), 54 - Worksheets.Count) 'limité à 54 semaines
If n Then
  Application.ScreenUpdating = False
  For i = 1 To n
    .Copy After:=Sheets(Sheets.Count)
  Next
  [A4] = [A4]
End If
End With
End Sub

Elle utilise une InputBox. Pour la version (3) il faudra un UserForm, mais là j'attends la réponse à ma question précédente.

A+
 

Pièces jointes

Re : Incrémentation d'une cellule sur des feuilles successives

Re,

Pour les versions Excel 97/2003 :

- menu Affichage => Barre d'outils => Formulaires

- sur cette barre clic gauche sur la forme qui représente un bouton et déplacer la souris/le curseur

- amener le curseur à l'endroit où vous voulez mettre le bouton puis clic gauche et maintenez-le enfoncé pendant que vous dessinez le bouton

- clic sur une cellule pour désélectionner le bouton

- clic droit sur le bouton => Affecter une macro => clic sur ThisWorkbook.AjouterFeuilles => OK

Le bouton est prêt.

A+
 
Re : Incrémentation d'une cellule sur des feuilles successives

Re,

Oui, çà marche mais le bouton n'apparait que sur la feuille où il a été crée.

Ben oui 😉

Mais pour le mettre dans les feuilles existantes, même s'il y en a 50, ça va très vite :

- clic droit sur le bouton => Copier

- dans les autres feuilles, clic droit sur la cellule où doit se trouver le coin supérieur gauche du bouton

=> Coller

Le Copier/Coller c'est le B A BA d'Excel.

Pour les feuilles créées par le bouton, le bouton est créé automatiquement s'il y en a un dans la 1ère feuille.

A+
 
Re : Incrémentation d'une cellule sur des feuilles successives

Re,
je l'avais pas mis dans la première feuille. C'est pour çà que ce bouton n'apparaissait pas dans les suivantes.
Dernier problème (j'espère) j'ai une formule de cumul (=DECALERFEUILLE(C28;-1)+B28) inscrite en SEM2 qui ne fonctionne plus quand on ajoute des feuilles car j'imagine que la feuille de référence est la première où cette formule n'a pas de sens.
C'est quoi l'astuce ?
Merci
Ci-joint un extrait de fichier
 

Pièces jointes

Re : Incrémentation d'une cellule sur des feuilles successives

Bon en fait, j'ai changer (en rouge) le numéro de la feuille:
"Sub AjouterFeuilles()
Dim n As Variant, i As Byte
With Worksheets(2)
If Val(.[A4]) = 0 Then Application.Goto .[A4]: MsgBox "Renseignez la cellule A4": Exit Sub
n = InputBox("Nombre de feuilles :", "Ajouter feuilles")
n = Application.Min(Abs(Int(Val(n))), 54 - Worksheets.Count) 'limité à 54 semaines
If n Then
Application.ScreenUpdating = False
For i = 1 To n
.Copy After:=Sheets(Sheets.Count)
Next
[A4] = [A4]
End If"
Et ça marche. Ouf!
Grand merci à job75 pour son travail !!!
🙂🙂🙂
 
Re : Incrémentation d'une cellule sur des feuilles successives

Re,

Si les feuilles semaines commencent en position 2, il faut aussi modifier la 1ère macro :

Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Source As Range)
If [COLOR="red"]Sh.Index < 2 Or[/COLOR] Intersect(Source, Sh.[A1:A4]) Is Nothing Then Exit Sub
Dim F As Object, i As Integer 'Integer au cas où le nombre de feuilles dépasse 254
Application.ScreenUpdating = False 'fige l'écran
On Error Resume Next
Set F = ActiveSheet
Worksheets([COLOR="red"]2[/COLOR]).Activate
If F.Index > [COLOR="Red"]2[/COLOR] Then [A4] = [A4] 'déclanche cette macro
If Sh.Index = [COLOR="red"]2[/COLOR] And IsNumeric(CStr([A4])) Then
  For i = [COLOR="red"]2[/COLOR] To Worksheets.Count
    Worksheets(i).Name = i 'nomme provisoirement les feuilles 2 3 4 5...
  Next
  For i = [COLOR="red"]3[/COLOR] To Worksheets.Count
    Worksheets(i).[A1:A3] = [A1:A3].Formula 'déclanche cette macro
    Worksheets(i).[A4] = [A4] + i - [COLOR="red"]2 [/COLOR]'déclanche cette macro
  Next
End If
Sh.Name = Sh.[A1]
F.Activate
End Sub

A+
 
- 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

Réponses
5
Affichages
553
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…