J'ai un classeur avec environ une douzaine d'onglets, dont le nom de chaque
est de la forme suivante : 06 09 2004 , 07 02 2005 .... 20 06 2005 (deniere
feuille).
Je dois faires des totaux partiels en fonction d'une date choisie qui
correspond au nom d'un onglet.
Je sais que le premier onglet à prendre en consideration est l'onglet 06 09
2004 et
a comme position 5.
Comment faire pour trouver la position par exemple de la feuille 07 02 2005
de facon à effectuer les calculs entre ces deux dates.
D'avance je vous en remercie.
Comment faire pour trouver la position par exemple de la feuille 07 02 2005 de facon à effectuer les calculs entre ces deux dates.
Je ne sais pas si j'ai bien compris la question. Tu peux accéder aux feuilles par leur nom. Pas besoin d'index.
Set MaFeuille = ActiveWorkbook.Sheets("07 02 2005")
Était-ce le problème ?
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
crisben
merci pour votre réponse,mais je voulais savoir comment je peux selectionner plusieurs feuilles sans que toutes les feuilles soient selectionnees ensemble. Je connais leur nom mais je ne sais pas dire au pgrm comment il doit s'arreter sur la feuille "02 07 2005" et selectionner les feuilles precedentes pour recuperer des infos dans chaque feuille precedente.
Bon Week-end Crisben
"Fred" a écrit :
Dans le messge : , crisben disait : > Bonjour,
Bonjour,
[...] > Comment faire pour trouver la position par exemple de la feuille 07 > 02 2005 de facon à effectuer les calculs entre ces deux dates.
Je ne sais pas si j'ai bien compris la question. Tu peux accéder aux feuilles par leur nom. Pas besoin d'index.
Set MaFeuille = ActiveWorkbook.Sheets("07 02 2005")
Était-ce le problème ?
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
merci pour votre réponse,mais je voulais savoir comment je peux selectionner
plusieurs feuilles sans que toutes les feuilles soient selectionnees ensemble.
Je connais leur nom mais je ne sais pas dire au pgrm comment il doit
s'arreter sur la feuille "02 07 2005" et selectionner les feuilles
precedentes pour recuperer des infos dans chaque feuille precedente.
Bon Week-end
Crisben
"Fred" a écrit :
Dans le messge : 6280625C-7CA9-4A2C-96C7-A36259BB1845@microsoft.com,
crisben disait :
> Bonjour,
Bonjour,
[...]
> Comment faire pour trouver la position par exemple de la feuille 07
> 02 2005 de facon à effectuer les calculs entre ces deux dates.
Je ne sais pas si j'ai bien compris la question.
Tu peux accéder aux feuilles par leur nom. Pas besoin d'index.
Set MaFeuille = ActiveWorkbook.Sheets("07 02 2005")
merci pour votre réponse,mais je voulais savoir comment je peux selectionner plusieurs feuilles sans que toutes les feuilles soient selectionnees ensemble. Je connais leur nom mais je ne sais pas dire au pgrm comment il doit s'arreter sur la feuille "02 07 2005" et selectionner les feuilles precedentes pour recuperer des infos dans chaque feuille precedente.
Bon Week-end Crisben
"Fred" a écrit :
Dans le messge : , crisben disait : > Bonjour,
Bonjour,
[...] > Comment faire pour trouver la position par exemple de la feuille 07 > 02 2005 de facon à effectuer les calculs entre ces deux dates.
Je ne sais pas si j'ai bien compris la question. Tu peux accéder aux feuilles par leur nom. Pas besoin d'index.
Set MaFeuille = ActiveWorkbook.Sheets("07 02 2005")
Était-ce le problème ?
-- Fred http://www.cerbermail.com/?3kA6ftaCvT
Clive Lumb
crisben wrote:
Bonjour,
J'ai un classeur avec environ une douzaine d'onglets, dont le nom de chaque est de la forme suivante : 06 09 2004 , 07 02 2005 .... 20 06 2005 (deniere feuille). Je dois faires des totaux partiels en fonction d'une date choisie qui correspond au nom d'un onglet. Je sais que le premier onglet à prendre en consideration est l'onglet 06 09 2004 et a comme position 5. Comment faire pour trouver la position par exemple de la feuille 07 02 2005 de facon à effectuer les calculs entre ces deux dates. D'avance je vous en remercie.
Bon Week-end Crisben
Je crois que le suivant fait ce que tu voudrais
Public Sub test() Call Traiter_Feuilles_En_Ordre("06 09 2004", "07 02 2005 ") End Sub
Public Sub Traiter_Feuilles_En_Ordre(NomDep As String, NomFin As String) Dim MonBook As Workbook Dim Feuilles As Sheets Dim Feuille As Worksheet Dim NumDep As Integer Dim NumFin As Integer Dim I As Integer Set MonBook = Application.ActiveWorkbook Set Feuilles = MonBook.Worksheets For Each Feuille In Feuilles If Feuille.Name = NomDep Then NumDep = Feuille.Index If Feuille.Name = NomFin Then NumFin = Feuille.Index Next Feuille If NumDep = 0 Then MsgBox "Feuille " & NomDep & " inexistante" Exit Sub End If If NumFin = 0 Then MsgBox "Feuille " & NomFin & " inexistante" Exit Sub End If If NumFin < NumDep Then MsgBox "Feuille " & NomFin & " se trouve AVANT la feuille " & NomDep Exit Sub End If
' faire le traitement pour chaque feuille ' par exemple, afficher la valeur de la case A1 For I = NumDep To NumFin ' (Plante si valeur texte !) MsgBox "La case A1 de la feuille " & Feuilles(I).Name & " contient la valeur " & Str$(Feuilles(I).Cells(1, 1)) Next I Set MonBook = Nothing Set Feuilles = Nothing
End Sub
Bon courage Clive
crisben wrote:
Bonjour,
J'ai un classeur avec environ une douzaine d'onglets, dont le nom de
chaque est de la forme suivante : 06 09 2004 , 07 02 2005 .... 20 06
2005 (deniere feuille).
Je dois faires des totaux partiels en fonction d'une date choisie qui
correspond au nom d'un onglet.
Je sais que le premier onglet à prendre en consideration est l'onglet
06 09 2004 et
a comme position 5.
Comment faire pour trouver la position par exemple de la feuille 07
02 2005 de facon à effectuer les calculs entre ces deux dates.
D'avance je vous en remercie.
Bon Week-end
Crisben
Je crois que le suivant fait ce que tu voudrais
Public Sub test()
Call Traiter_Feuilles_En_Ordre("06 09 2004", "07 02 2005 ")
End Sub
Public Sub Traiter_Feuilles_En_Ordre(NomDep As String, NomFin As String)
Dim MonBook As Workbook
Dim Feuilles As Sheets
Dim Feuille As Worksheet
Dim NumDep As Integer
Dim NumFin As Integer
Dim I As Integer
Set MonBook = Application.ActiveWorkbook
Set Feuilles = MonBook.Worksheets
For Each Feuille In Feuilles
If Feuille.Name = NomDep Then NumDep = Feuille.Index
If Feuille.Name = NomFin Then NumFin = Feuille.Index
Next Feuille
If NumDep = 0 Then
MsgBox "Feuille " & NomDep & " inexistante"
Exit Sub
End If
If NumFin = 0 Then
MsgBox "Feuille " & NomFin & " inexistante"
Exit Sub
End If
If NumFin < NumDep Then
MsgBox "Feuille " & NomFin & " se trouve AVANT la feuille " & NomDep
Exit Sub
End If
' faire le traitement pour chaque feuille
' par exemple, afficher la valeur de la case A1
For I = NumDep To NumFin
' (Plante si valeur texte !)
MsgBox "La case A1 de la feuille " & Feuilles(I).Name & " contient
la valeur " & Str$(Feuilles(I).Cells(1, 1))
Next I
Set MonBook = Nothing
Set Feuilles = Nothing
J'ai un classeur avec environ une douzaine d'onglets, dont le nom de chaque est de la forme suivante : 06 09 2004 , 07 02 2005 .... 20 06 2005 (deniere feuille). Je dois faires des totaux partiels en fonction d'une date choisie qui correspond au nom d'un onglet. Je sais que le premier onglet à prendre en consideration est l'onglet 06 09 2004 et a comme position 5. Comment faire pour trouver la position par exemple de la feuille 07 02 2005 de facon à effectuer les calculs entre ces deux dates. D'avance je vous en remercie.
Bon Week-end Crisben
Je crois que le suivant fait ce que tu voudrais
Public Sub test() Call Traiter_Feuilles_En_Ordre("06 09 2004", "07 02 2005 ") End Sub
Public Sub Traiter_Feuilles_En_Ordre(NomDep As String, NomFin As String) Dim MonBook As Workbook Dim Feuilles As Sheets Dim Feuille As Worksheet Dim NumDep As Integer Dim NumFin As Integer Dim I As Integer Set MonBook = Application.ActiveWorkbook Set Feuilles = MonBook.Worksheets For Each Feuille In Feuilles If Feuille.Name = NomDep Then NumDep = Feuille.Index If Feuille.Name = NomFin Then NumFin = Feuille.Index Next Feuille If NumDep = 0 Then MsgBox "Feuille " & NomDep & " inexistante" Exit Sub End If If NumFin = 0 Then MsgBox "Feuille " & NomFin & " inexistante" Exit Sub End If If NumFin < NumDep Then MsgBox "Feuille " & NomFin & " se trouve AVANT la feuille " & NomDep Exit Sub End If
' faire le traitement pour chaque feuille ' par exemple, afficher la valeur de la case A1 For I = NumDep To NumFin ' (Plante si valeur texte !) MsgBox "La case A1 de la feuille " & Feuilles(I).Name & " contient la valeur " & Str$(Feuilles(I).Cells(1, 1)) Next I Set MonBook = Nothing Set Feuilles = Nothing
End Sub
Bon courage Clive
crisben
Merci beaucoup pour votre aide. Bonne soiree.
Crisben
"Clive Lumb" a écrit :
crisben wrote: > Bonjour, > > J'ai un classeur avec environ une douzaine d'onglets, dont le nom de > chaque est de la forme suivante : 06 09 2004 , 07 02 2005 .... 20 06 > 2005 (deniere feuille). > Je dois faires des totaux partiels en fonction d'une date choisie qui > correspond au nom d'un onglet. > Je sais que le premier onglet à prendre en consideration est l'onglet > 06 09 2004 et > a comme position 5. > Comment faire pour trouver la position par exemple de la feuille 07 > 02 2005 de facon à effectuer les calculs entre ces deux dates. > D'avance je vous en remercie. > > Bon Week-end > Crisben
Je crois que le suivant fait ce que tu voudrais
Public Sub test() Call Traiter_Feuilles_En_Ordre("06 09 2004", "07 02 2005 ") End Sub
Public Sub Traiter_Feuilles_En_Ordre(NomDep As String, NomFin As String) Dim MonBook As Workbook Dim Feuilles As Sheets Dim Feuille As Worksheet Dim NumDep As Integer Dim NumFin As Integer Dim I As Integer Set MonBook = Application.ActiveWorkbook Set Feuilles = MonBook.Worksheets For Each Feuille In Feuilles If Feuille.Name = NomDep Then NumDep = Feuille.Index If Feuille.Name = NomFin Then NumFin = Feuille.Index Next Feuille If NumDep = 0 Then MsgBox "Feuille " & NomDep & " inexistante" Exit Sub End If If NumFin = 0 Then MsgBox "Feuille " & NomFin & " inexistante" Exit Sub End If If NumFin < NumDep Then MsgBox "Feuille " & NomFin & " se trouve AVANT la feuille " & NomDep Exit Sub End If
' faire le traitement pour chaque feuille ' par exemple, afficher la valeur de la case A1 For I = NumDep To NumFin ' (Plante si valeur texte !) MsgBox "La case A1 de la feuille " & Feuilles(I).Name & " contient la valeur " & Str$(Feuilles(I).Cells(1, 1)) Next I Set MonBook = Nothing Set Feuilles = Nothing
End Sub
Bon courage Clive
Merci beaucoup pour votre aide.
Bonne soiree.
Crisben
"Clive Lumb" a écrit :
crisben wrote:
> Bonjour,
>
> J'ai un classeur avec environ une douzaine d'onglets, dont le nom de
> chaque est de la forme suivante : 06 09 2004 , 07 02 2005 .... 20 06
> 2005 (deniere feuille).
> Je dois faires des totaux partiels en fonction d'une date choisie qui
> correspond au nom d'un onglet.
> Je sais que le premier onglet à prendre en consideration est l'onglet
> 06 09 2004 et
> a comme position 5.
> Comment faire pour trouver la position par exemple de la feuille 07
> 02 2005 de facon à effectuer les calculs entre ces deux dates.
> D'avance je vous en remercie.
>
> Bon Week-end
> Crisben
Je crois que le suivant fait ce que tu voudrais
Public Sub test()
Call Traiter_Feuilles_En_Ordre("06 09 2004", "07 02 2005 ")
End Sub
Public Sub Traiter_Feuilles_En_Ordre(NomDep As String, NomFin As String)
Dim MonBook As Workbook
Dim Feuilles As Sheets
Dim Feuille As Worksheet
Dim NumDep As Integer
Dim NumFin As Integer
Dim I As Integer
Set MonBook = Application.ActiveWorkbook
Set Feuilles = MonBook.Worksheets
For Each Feuille In Feuilles
If Feuille.Name = NomDep Then NumDep = Feuille.Index
If Feuille.Name = NomFin Then NumFin = Feuille.Index
Next Feuille
If NumDep = 0 Then
MsgBox "Feuille " & NomDep & " inexistante"
Exit Sub
End If
If NumFin = 0 Then
MsgBox "Feuille " & NomFin & " inexistante"
Exit Sub
End If
If NumFin < NumDep Then
MsgBox "Feuille " & NomFin & " se trouve AVANT la feuille " & NomDep
Exit Sub
End If
' faire le traitement pour chaque feuille
' par exemple, afficher la valeur de la case A1
For I = NumDep To NumFin
' (Plante si valeur texte !)
MsgBox "La case A1 de la feuille " & Feuilles(I).Name & " contient
la valeur " & Str$(Feuilles(I).Cells(1, 1))
Next I
Set MonBook = Nothing
Set Feuilles = Nothing
crisben wrote: > Bonjour, > > J'ai un classeur avec environ une douzaine d'onglets, dont le nom de > chaque est de la forme suivante : 06 09 2004 , 07 02 2005 .... 20 06 > 2005 (deniere feuille). > Je dois faires des totaux partiels en fonction d'une date choisie qui > correspond au nom d'un onglet. > Je sais que le premier onglet à prendre en consideration est l'onglet > 06 09 2004 et > a comme position 5. > Comment faire pour trouver la position par exemple de la feuille 07 > 02 2005 de facon à effectuer les calculs entre ces deux dates. > D'avance je vous en remercie. > > Bon Week-end > Crisben
Je crois que le suivant fait ce que tu voudrais
Public Sub test() Call Traiter_Feuilles_En_Ordre("06 09 2004", "07 02 2005 ") End Sub
Public Sub Traiter_Feuilles_En_Ordre(NomDep As String, NomFin As String) Dim MonBook As Workbook Dim Feuilles As Sheets Dim Feuille As Worksheet Dim NumDep As Integer Dim NumFin As Integer Dim I As Integer Set MonBook = Application.ActiveWorkbook Set Feuilles = MonBook.Worksheets For Each Feuille In Feuilles If Feuille.Name = NomDep Then NumDep = Feuille.Index If Feuille.Name = NomFin Then NumFin = Feuille.Index Next Feuille If NumDep = 0 Then MsgBox "Feuille " & NomDep & " inexistante" Exit Sub End If If NumFin = 0 Then MsgBox "Feuille " & NomFin & " inexistante" Exit Sub End If If NumFin < NumDep Then MsgBox "Feuille " & NomFin & " se trouve AVANT la feuille " & NomDep Exit Sub End If
' faire le traitement pour chaque feuille ' par exemple, afficher la valeur de la case A1 For I = NumDep To NumFin ' (Plante si valeur texte !) MsgBox "La case A1 de la feuille " & Feuilles(I).Name & " contient la valeur " & Str$(Feuilles(I).Cells(1, 1)) Next I Set MonBook = Nothing Set Feuilles = Nothing