Je suis en face d'un probleme que je ne sais résoudre.
j'ai 2 classeurs : 1 classeur avec 31 feuilles nommés de 1 a 31
(correspondant au jour d'un mois)ex:classeur1) et un second avec une
feuille recap (ex:classeur2)
sur la feuille recap (classeur2), j'ai deux date (ex: du 02/12/05 au
22/12/05)
a partir de ces dates je récupere dans un string le jour en chiffre.
j'ai donc par exemple strdate1=2 et strdate2=22
ces deux chiffre correspondent donc a la feuille 2 et la 22 de mon
classeur 1
j'aimerai donc selectionner toutes les feuilles (le tout en vba) de la
feuille 2 a 22 (y compris celles entre les 2)
afin d'additionner par exemple toutes les cellule "A1"
en fait remplacer la formule =sum([classeur1.xls]2:22!A1) par du code
vba. mais je ne peux pas ecrire (ex:ActiveSheets.range("B2")=
"=sum([classeur1.xls]2:22!A1)" )
car je ne connais pas a l'avance, le nom de mon classeur1
(strMonclasseur) ni le nom de mes feuilles puisqu'elles sont récupérer
dans un string.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
JB
Bonjour,
Je ne sais pas si l'exemple ci dessous peut t'aider: D3 et E3 contiennent la feuille de début et la feuille de fin. La macro écrit la formule =SOMME(Feuil2:Feuil3!B3) et la recopie 4 fois.
http://cjoint.com/?mcsHs4MUMN
Sub essai() Range("b3").Formula = "=Sum(" & [D3] & ":" & [E3] & "!B3)" Range("b3").Select ActiveCell.Copy Range(ActiveCell, ActiveCell.Offset(4, 0)) End Sub
Cordialement JB
Bonjour,
Je ne sais pas si l'exemple ci dessous peut t'aider:
D3 et E3 contiennent la feuille de début et la feuille de fin.
La macro écrit la formule =SOMME(Feuil2:Feuil3!B3) et la recopie 4
fois.
http://cjoint.com/?mcsHs4MUMN
Sub essai()
Range("b3").Formula = "=Sum(" & [D3] & ":" & [E3] & "!B3)"
Range("b3").Select
ActiveCell.Copy Range(ActiveCell, ActiveCell.Offset(4, 0))
End Sub
Je ne sais pas si l'exemple ci dessous peut t'aider: D3 et E3 contiennent la feuille de début et la feuille de fin. La macro écrit la formule =SOMME(Feuil2:Feuil3!B3) et la recopie 4 fois.
http://cjoint.com/?mcsHs4MUMN
Sub essai() Range("b3").Formula = "=Sum(" & [D3] & ":" & [E3] & "!B3)" Range("b3").Select ActiveCell.Copy Range(ActiveCell, ActiveCell.Offset(4, 0)) End Sub
Cordialement JB
JLuc
*Bonjour Titi*, dim somme, x x=0 for x = strdate1 to strdate2 somme = somme + workbook("Classeur1").worksheets(x).range("A1") next Pas teste, mais devrait marcher :oÞ Reviens nous dire JLuc
Bonjour à tous,
Je suis en face d'un probleme que je ne sais résoudre.
j'ai 2 classeurs : 1 classeur avec 31 feuilles nommés de 1 a 31 (correspondant au jour d'un mois)ex:classeur1) et un second avec une feuille recap (ex:classeur2)
sur la feuille recap (classeur2), j'ai deux date (ex: du 02/12/05 au 22/12/05) a partir de ces dates je récupere dans un string le jour en chiffre. j'ai donc par exemple strdate1=2 et strdate2" ces deux chiffre correspondent donc a la feuille 2 et la 22 de mon classeur 1
j'aimerai donc selectionner toutes les feuilles (le tout en vba) de la feuille 2 a 22 (y compris celles entre les 2)
afin d'additionner par exemple toutes les cellule "A1"
en fait remplacer la formule =sum([classeur1.xls]2:22!A1) par du code vba. mais je ne peux pas ecrire (ex:ActiveSheets.range("B2")= "=sum([classeur1.xls]2:22!A1)" )
car je ne connais pas a l'avance, le nom de mon classeur1 (strMonclasseur) ni le nom de mes feuilles puisqu'elles sont récupérer dans un string.
j'espère avoir était claire dans mon explication.
D'avance, je vous remercie.
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
*Bonjour Titi*,
dim somme, x
x=0
for x = strdate1 to strdate2
somme = somme + workbook("Classeur1").worksheets(x).range("A1")
next
Pas teste, mais devrait marcher :oÞ
Reviens nous dire
JLuc
Bonjour à tous,
Je suis en face d'un probleme que je ne sais résoudre.
j'ai 2 classeurs : 1 classeur avec 31 feuilles nommés de 1 a 31
(correspondant au jour d'un mois)ex:classeur1) et un second avec une feuille
recap (ex:classeur2)
sur la feuille recap (classeur2), j'ai deux date (ex: du 02/12/05 au
22/12/05)
a partir de ces dates je récupere dans un string le jour en chiffre.
j'ai donc par exemple strdate1=2 et strdate2"
ces deux chiffre correspondent donc a la feuille 2 et la 22 de mon classeur 1
j'aimerai donc selectionner toutes les feuilles (le tout en vba) de la
feuille 2 a 22 (y compris celles entre les 2)
afin d'additionner par exemple toutes les cellule "A1"
en fait remplacer la formule =sum([classeur1.xls]2:22!A1) par du code vba.
mais je ne peux pas ecrire (ex:ActiveSheets.range("B2")=
"=sum([classeur1.xls]2:22!A1)" )
car je ne connais pas a l'avance, le nom de mon classeur1 (strMonclasseur) ni
le nom de mes feuilles puisqu'elles sont récupérer dans un string.
j'espère avoir était claire dans mon explication.
D'avance, je vous remercie.
--
JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs
et astuces !
http://www.excelabo.net
http://jacxl.free.fr/
http://dj.joss.free.fr/
C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
*Bonjour Titi*, dim somme, x x=0 for x = strdate1 to strdate2 somme = somme + workbook("Classeur1").worksheets(x).range("A1") next Pas teste, mais devrait marcher :oÞ Reviens nous dire JLuc
Bonjour à tous,
Je suis en face d'un probleme que je ne sais résoudre.
j'ai 2 classeurs : 1 classeur avec 31 feuilles nommés de 1 a 31 (correspondant au jour d'un mois)ex:classeur1) et un second avec une feuille recap (ex:classeur2)
sur la feuille recap (classeur2), j'ai deux date (ex: du 02/12/05 au 22/12/05) a partir de ces dates je récupere dans un string le jour en chiffre. j'ai donc par exemple strdate1=2 et strdate2" ces deux chiffre correspondent donc a la feuille 2 et la 22 de mon classeur 1
j'aimerai donc selectionner toutes les feuilles (le tout en vba) de la feuille 2 a 22 (y compris celles entre les 2)
afin d'additionner par exemple toutes les cellule "A1"
en fait remplacer la formule =sum([classeur1.xls]2:22!A1) par du code vba. mais je ne peux pas ecrire (ex:ActiveSheets.range("B2")= "=sum([classeur1.xls]2:22!A1)" )
car je ne connais pas a l'avance, le nom de mon classeur1 (strMonclasseur) ni le nom de mes feuilles puisqu'elles sont récupérer dans un string.
j'espère avoir était claire dans mon explication.
D'avance, je vous remercie.
-- JLuc
Pensez a regarder ces sites très bien fait, ce sont des mines de trucs et astuces ! http://www.excelabo.net http://jacxl.free.fr/ http://dj.joss.free.fr/ C:Program FilesMicrosoft OfficeOffice1036VBALIST.XLS
JB
Bonjour
Autre exemple avec des feuilles nommées Sem1,Sem2,...
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("D3:E3"), Target) Is Nothing Then Range("b3").Formula = "=Sum(sem" & [D3] & ":sem" & [e3] & "!B3)" Range("b3").Select ActiveCell.Copy Range(ActiveCell, ActiveCell.Offset(6, 0)) End If End Sub
http://cjoint.com/?mdiuVIpgWZ
Cordialement JB
Bonjour
Autre exemple avec des feuilles nommées Sem1,Sem2,...
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("D3:E3"), Target) Is Nothing Then
Range("b3").Formula = "=Sum(sem" & [D3] & ":sem" & [e3] & "!B3)"
Range("b3").Select
ActiveCell.Copy Range(ActiveCell, ActiveCell.Offset(6, 0))
End If
End Sub
Autre exemple avec des feuilles nommées Sem1,Sem2,...
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Range("D3:E3"), Target) Is Nothing Then Range("b3").Formula = "=Sum(sem" & [D3] & ":sem" & [e3] & "!B3)" Range("b3").Select ActiveCell.Copy Range(ActiveCell, ActiveCell.Offset(6, 0)) End If End Sub
http://cjoint.com/?mdiuVIpgWZ
Cordialement JB
Titi
*Bonjour Titi*, dim somme, x x=0 for x = strdate1 to strdate2 somme = somme + workbook("Classeur1").worksheets(x).range("A1") next Pas teste, mais devrait marcher :oÞ Reviens nous dire JLuc
Bonjour à tous,
Je suis en face d'un probleme que je ne sais résoudre.
j'ai 2 classeurs : 1 classeur avec 31 feuilles nommés de 1 a 31 (correspondant au jour d'un mois)ex:classeur1) et un second avec une feuille recap (ex:classeur2)
sur la feuille recap (classeur2), j'ai deux date (ex: du 02/12/05 au 22/12/05) a partir de ces dates je récupere dans un string le jour en chiffre. j'ai donc par exemple strdate1=2 et strdate2" ces deux chiffre correspondent donc a la feuille 2 et la 22 de mon classeur 1
j'aimerai donc selectionner toutes les feuilles (le tout en vba) de la feuille 2 a 22 (y compris celles entre les 2)
afin d'additionner par exemple toutes les cellule "A1"
en fait remplacer la formule =sum([classeur1.xls]2:22!A1) par du code vba. mais je ne peux pas ecrire (ex:ActiveSheets.range("B2")= "=sum([classeur1.xls]2:22!A1)" )
car je ne connais pas a l'avance, le nom de mon classeur1 (strMonclasseur) ni le nom de mes feuilles puisqu'elles sont récupérer dans un string.
j'espère avoir était claire dans mon explication.
D'avance, je vous remercie.
Merci JLuc,
fonctionne imppecable
également a toi JB
*Bonjour Titi*,
dim somme, x
x=0
for x = strdate1 to strdate2
somme = somme + workbook("Classeur1").worksheets(x).range("A1")
next
Pas teste, mais devrait marcher :oÞ
Reviens nous dire
JLuc
Bonjour à tous,
Je suis en face d'un probleme que je ne sais résoudre.
j'ai 2 classeurs : 1 classeur avec 31 feuilles nommés de 1 a 31
(correspondant au jour d'un mois)ex:classeur1) et un second avec une
feuille recap (ex:classeur2)
sur la feuille recap (classeur2), j'ai deux date (ex: du 02/12/05 au
22/12/05)
a partir de ces dates je récupere dans un string le jour en chiffre.
j'ai donc par exemple strdate1=2 et strdate2"
ces deux chiffre correspondent donc a la feuille 2 et la 22 de mon
classeur 1
j'aimerai donc selectionner toutes les feuilles (le tout en vba) de la
feuille 2 a 22 (y compris celles entre les 2)
afin d'additionner par exemple toutes les cellule "A1"
en fait remplacer la formule =sum([classeur1.xls]2:22!A1) par du code
vba. mais je ne peux pas ecrire (ex:ActiveSheets.range("B2")=
"=sum([classeur1.xls]2:22!A1)" )
car je ne connais pas a l'avance, le nom de mon classeur1
(strMonclasseur) ni le nom de mes feuilles puisqu'elles sont récupérer
dans un string.
*Bonjour Titi*, dim somme, x x=0 for x = strdate1 to strdate2 somme = somme + workbook("Classeur1").worksheets(x).range("A1") next Pas teste, mais devrait marcher :oÞ Reviens nous dire JLuc
Bonjour à tous,
Je suis en face d'un probleme que je ne sais résoudre.
j'ai 2 classeurs : 1 classeur avec 31 feuilles nommés de 1 a 31 (correspondant au jour d'un mois)ex:classeur1) et un second avec une feuille recap (ex:classeur2)
sur la feuille recap (classeur2), j'ai deux date (ex: du 02/12/05 au 22/12/05) a partir de ces dates je récupere dans un string le jour en chiffre. j'ai donc par exemple strdate1=2 et strdate2" ces deux chiffre correspondent donc a la feuille 2 et la 22 de mon classeur 1
j'aimerai donc selectionner toutes les feuilles (le tout en vba) de la feuille 2 a 22 (y compris celles entre les 2)
afin d'additionner par exemple toutes les cellule "A1"
en fait remplacer la formule =sum([classeur1.xls]2:22!A1) par du code vba. mais je ne peux pas ecrire (ex:ActiveSheets.range("B2")= "=sum([classeur1.xls]2:22!A1)" )
car je ne connais pas a l'avance, le nom de mon classeur1 (strMonclasseur) ni le nom de mes feuilles puisqu'elles sont récupérer dans un string.