VB Référence à une feuille en fonction d'une Cellule !

Amsa

XLDnaute Nouveau
Bonjour à tous.

Je suis en train "développer" un fichier Excel (2003) pour les besoins du boulot de ma femme.
Il y a plusieurs feuille dont le nom est le mois + l'année (11-2009 ; 12-2009 ; etc...)
Sur une feuille principale, je vais récupérer (grace à du code VB que j'ai piocher par ci par là) le nom de chaque feuille que j'inscrit l'une en dessous de l'autre en les classants; le tout se trouve dans la colonne F.
Maintenant je souhaiterais afficher dans la cellule suivante de chaque mois (soit dans la colonne G) la somme d'une colonne de la feuille en question (rapport au mois)....
Et là, je bloque completement....:(

Je vous joint un fichier exemple, ça sera plus clair que mes explications.

Je ne peux pas faire ça de façon "simple", car chaque mois il y aura une feuille de rajouter (toujours sous le même principe pour les noms) par l'intermédiaire d'une requête sous Access.

Si l'un de vous avait une idée de ce que je devrais faire car je sèche completement...

Merci par avance, sachant que je reste disponible pour de plus ample renseignements.
 

Pièces jointes

  • Exemple.zip
    16.4 KB · Affichages: 43
  • Exemple.zip
    16.4 KB · Affichages: 42
  • Exemple.zip
    16.4 KB · Affichages: 44

kjin

XLDnaute Barbatruc
Re : VB Référence à une feuille en fonction d'une Cellule !

Bonsoir,
Un peu simplifié
Code:
Private Sub CommandButton1_Click()
Dim s As Worksheet, c As Range
Range("F1:G300").Delete
x = 1
For Each s In ActiveWorkbook.Sheets
    If s.Name <> "Accueil" Then
        x = x + 1
        Cells(x, 6) = s.Name
        Set c = s.Range("B2:B" & s.Range("B65000").End(xlUp).Row)
        Cells(x, 7) = Application.Sum(c)
    End If
Next
Range("F1").Value = "Mois"
Range("G1").Value = "Total Mois"
Range("F1:G1").Font.Bold = True
Range("F:G").HorizontalAlignment = xlCenter
' Tris les lignes
Range("F1").Sort key1:=Range("F2"), Order1:=xlAscending, Header:=xlGuess

End Sub
A+
kjin
 

Pièces jointes

  • amsa.zip
    13.3 KB · Affichages: 43
  • amsa.zip
    13.3 KB · Affichages: 48
  • amsa.zip
    13.3 KB · Affichages: 42

Staple1600

XLDnaute Barbatruc
Re : VB Référence à une feuille en fonction d'une Cellule !

Bonsoir


Code:
Sub Test()
Dim Arr() As String, I As Integer
ReDim Arr(Sheets.Count - 1)
For I = 0 To Sheets.Count - 1
    Arr(I) = Sheets(I + 1).Name
Next I

With Range("F2").Resize(Sheets.Count - 1)
    .NumberFormat = "@"
    .Value = Application.Transpose(Arr)
End With
With Range("G2:G" & [F65536].End(xlUp).Row)
    .FormulaR1C1 = "=SUM(INDIRECT(""'"" & RC[-1] & ""'!B2:B65536""))"
    .Value = .Value
    .NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
End With
End Sub

édition: houp bonsoir kjin, pas rafraichi à temps
 

Discussions similaires

Réponses
9
Affichages
384

Statistiques des forums

Discussions
312 100
Messages
2 085 293
Membres
102 853
dernier inscrit
jetstream69