Incrémentation d'un onglet Récap

Christophe54

XLDnaute Nouveau
Bonjour à tous,
J'ai un fichier avec plusieurs onglets dont un onglet récap.
Je souhaiterais que l'onglet récap s'incrémente automatiquement au fur et à mesure que l'on rajoute de nouveaux onglets.
Est-ce possible par une macro ? ou plus simplement.
Merci beaucoup pour votre aide

Je joins pour exemple un fichier simplifié
 
Dernière édition:

Christophe54

XLDnaute Nouveau
Re : Incrémentation d'un onglet Récap

Bonjour JB,
Merci pour votre réponse, mais j'avoue ne pas avoir compris grand chose à la formule.
Pourriez-vous juste me dire si vous avez crée une macro (a priori oui mais je ne vois rien) et comment vous avez définit Nbf et Nf.
Je vous remercie beaucoup et bonne journée
 

jehafa

XLDnaute Nouveau
Re : Incrémentation d'un onglet Récap

salut, si cela peu t'intéresser :

Code:
Private Sub Worksheet_Activate()

'sommaire avec lien hypertexte
  [A6:C100].ClearContents
    For Z = 8 To Sheets.Count
   nf = Sheets(Z).Name
   x = Sheets(Z).Range("I33").Value
    ActiveSheet.Hyperlinks.Add Anchor:=Cells(Z - 2, 1), Address:="", SubAddress:="'" & _
      nf & "'" & "!A1", TextToDisplay:=nf
    
'Rangement dans l'ordre alphabétique
[A6:C100].Sort Key1:=Range("A6"), Order1:=xlAscending, Header:=xlGuess

End Sub

Un sommaire automatique dés l'activation de l'onglet. Avec lien hypertext sur les onglets et rangement dans l'ordre alphabétique.

A plus

Fab
 

Christophe54

XLDnaute Nouveau
Re : Incrémentation d'un onglet Récap

Bonjour à tous,
Je vous remercie pour vos réponses mais je ne réussis pas à l'adapter à mon cas. Pour être plus concret, je vous joins mon fichier sur lequel je voudrais faire apparaitre dans l'onglet récap les données des différentes feuilles (en sachant que je voudrais pouvoir ajouter et supprimer librement des feuilles).
Merci à tous
 

Pièces jointes

  • exple ST.zip
    13 KB · Affichages: 70
  • exple ST.zip
    13 KB · Affichages: 68
  • exple ST.zip
    13 KB · Affichages: 73

jehafa

XLDnaute Nouveau
Re : Incrémentation d'un onglet Récap

bonjour,
j'ai une idée mais ça risque de prendre un peut de temps comme l'adresse des cellules de tes feuilles sont pas les même que dans le recap.
Faire une boucle sur tous tes onglets (soit à l'ouverture, l'activation ou l'enregistrement,..) sur tous les onglets de ton classeur pour aller récupérer les valeurs de tes feuilles.
Je vois ça demain, pas trop le temps ce soir
 

jehafa

XLDnaute Nouveau
Re : Incrémentation d'un onglet Récap

Voilà, à espérer que c'est bien ça.

Je l'est fait que pour les 3 premières colonnes du recap. Essaye de finir ;)

Par contre l'onglet recap et commentaire doivent rester en position 1 et 2 : la boucle se fait à partir de l'onglet 3 !!

bon courage
a plus

fab
 

Pièces jointes

  • exple ST.zip
    20.3 KB · Affichages: 92
  • exple ST.zip
    20.3 KB · Affichages: 83
  • exple ST.zip
    20.3 KB · Affichages: 88

Christophe54

XLDnaute Nouveau
Re : Incrémentation d'un onglet Récap

Bonjour Fab,
Merci, grace à tes explications j'ai réussi à remplir les colonnes D et E.
Je suis bloqué à la colonne F (Retour Contrat) car il y a une condition : =SI(ST1!$C$22="X";"O";"N")
Peux-tu m'aider ?
Encore merci
@+


Private Sub Worksheet_Activate()

Dim Z As Integer
Dim condu As Range
Dim num

'supprime le tableau existant
Range("A6", Range("U6").End(xlDown)).Delete

'boucle sur toutes les feuilles à partir de la troisiéme
For Z = 3 To Sheets.Count

'tu nomme ici toutes les destinations de copies : condu, numéro affaire,libéllé affaire,...
Set condu = Sheets("recap").Range("A65536").End(xlUp).Offset(1, 0)
Set numaffaire = Sheets("recap").Range("B65536").End(xlUp).Offset(1, 0)
Set libelleaffaire = Sheets("recap").Range("C65536").End(xlUp).Offset(1, 0)
Set fournisseur = Sheets("recap").Range("D65536").End(xlUp).Offset(1, 0)
Set naturetvx = Sheets("recap").Range("E65536").End(xlUp).Offset(1, 0)


'là tu vas chercher la cellule à copier
Worksheets(Z).Range("E11").Copy condu
Worksheets(Z).Range("E9").Copy numaffaire
Worksheets(Z).Range("E10").Copy libelleaffaire
Worksheets(Z).Range("E5").Copy fournisseur
Worksheets(Z).Range("E6").Copy naturetvx

Next Z

'là c'est pour supprimer le format de la cellule
Worksheets("recap").Range(Cells(65536, 1).End(xlUp), "U6").Select
Selection.Font.Bold = False
Selection.Font.ColorIndex = 1
Selection.Borders.Weight = xlThin
Selection.Interior.ColorIndex = xlNone

Range("A1").Select

End Sub
 

jehafa

XLDnaute Nouveau
Re : Incrémentation d'un onglet Récap

Salut
rajoute ça :

Code:
Set retourcontrat = Sheets("recap").Range("F65536").End(xlUp).Offset(1, 0)

et ça :

Code:
    If Worksheets(Z).Range("C22").Value = "X" Then
    retourcontrat.Value = "O"
    Else: retourcontrat.Value = "N"
    End If

Fonctionne que pour la ligne 22. Si tu peut avoir plusieurs lignes sur ton tableau STX faudra refaire une boucle ;) !!!

a plus
fab
 

Christophe54

XLDnaute Nouveau
Re : Incrémentation d'un onglet Récap

Merci Fab,
Je n'y connais rien en VBA et je n'arrive pas à traduire : =SI(ST1!$L$22>0;ST1!$L$22;"").
J'ai essayé :
If Worksheets(Z).Range("L22").Value > 0 Then
cautionafournir4.Value = cautionafournir4 j'ai aussi essayé : Copy cautionfournisseur4 mais sans succès
Else: cautionafournir4.Value = ""
End If

Merci pour ton aide
@+
 

Discussions similaires