Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" a écrit dans le message de news:
ujAwTZG%Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
ujAwTZG%23KHA.3840@TK2MSFTNGP02.phx.gbl...
Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" a écrit dans le message de news:
ujAwTZG%Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
A ) un code qui n'est pas fonctionnel n'est d'aucune utilité pour compr endre
une question.
et je suppose que si cela fonctionnait, tu n'aurais pas de questi on à
soulever!
Si je te donne un itinéraire sans te donner la destination et q ue je te
demande
de corriger l'itinéraire, tu t'y prends comment ?
B ) Tu veux copier quoi ? Plage de cellules sur quelle feuille ?
Où veux-tu copier ces données ? Nom de la feuille + adres se de la
plage de cellules.
C ) Est-ce que la copie doit se faire selon un ou plusieurs critères ? Si
oui, lesquels ?
A ) un code qui n'est pas fonctionnel n'est d'aucune utilité pour compr endre
une question.
et je suppose que si cela fonctionnait, tu n'aurais pas de questi on à
soulever!
Si je te donne un itinéraire sans te donner la destination et q ue je te
demande
de corriger l'itinéraire, tu t'y prends comment ?
B ) Tu veux copier quoi ? Plage de cellules sur quelle feuille ?
Où veux-tu copier ces données ? Nom de la feuille + adres se de la
plage de cellules.
C ) Est-ce que la copie doit se faire selon un ou plusieurs critères ? Si
oui, lesquels ?
A ) un code qui n'est pas fonctionnel n'est d'aucune utilité pour compr endre
une question.
et je suppose que si cela fonctionnait, tu n'aurais pas de questi on à
soulever!
Si je te donne un itinéraire sans te donner la destination et q ue je te
demande
de corriger l'itinéraire, tu t'y prends comment ?
B ) Tu veux copier quoi ? Plage de cellules sur quelle feuille ?
Où veux-tu copier ces données ? Nom de la feuille + adres se de la
plage de cellules.
C ) Est-ce que la copie doit se faire selon un ou plusieurs critères ? Si
oui, lesquels ?
Rebonjour les amis,
Je pensais m'en sortir tout seul, mais je suis encore bloqué. Mes
connaissances en VBA etant limité, je me tourne vers vous !
Ce matin MichDenis m'a bien dépanné pour ma macro VBA :
Sub Créer_Onglet()
Dim C As Range
For Each C In Range([b4], [b65000].End(xlUp))
On Error Resume Next
With C
temp = Sheets(.Value).Range("A1").Value
DateDebut = .Offset(, 1).Value 'Colonne C
DateFin = .Offset(, 2).Value 'Colonne D
Montant = .Offset(, 3).Value 'Colonne E
End With
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = C
ActiveSheet.Hyperlinks.Add Anchor:=C, Address:="", _
SubAddress:="'" & C & "'" & "!A1", TextToDisplay:=C.Value
Worksheets(C.Value).Cells(1, 3) = C
' Ligne = 5
' Worksheets(C.Value).Cells(Ligne, 2) = DateDebut
' Worksheets(C.Value).Cells(Ligne, 3) = DateFin
' Worksheets(C.Value).Cells(Ligne, 4) = Montant
End If
Next
End Sub
Cette macro lit le nom qui se trouve dans la colonne B et duplique le
tableau Modele en le nommant par le nom de la personne !
Maintenant les lignes que j'ai mis en commentaire sont le debut de ce que je
veux faire. Apres le nom, il y a une date de début, une date fin et un
montant.
Une fois que l'onglet est créee, je voudrais dans mon onglet obtenir autant
de mois que la période l'indique.
ex : 23/01/2010 =>15/03/2010
avoir les periodes suivantes :
23/01/2010 => 31/01/2010
01/02/2010=>28/02/2010
01/03/2010=>15/03/2010
et recopier le montant sur chacune des periode.
http://cjoint.com/?fvxVPP8Snj
Un grand grand merci pour votre aide.
Bonne soirée
Philippe
"Philou36" a écrit dans le message de news:
un1SNkJ%Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" a écrit dans le message de news:
ujAwTZG%Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Rebonjour les amis,
Je pensais m'en sortir tout seul, mais je suis encore bloqué. Mes
connaissances en VBA etant limité, je me tourne vers vous !
Ce matin MichDenis m'a bien dépanné pour ma macro VBA :
Sub Créer_Onglet()
Dim C As Range
For Each C In Range([b4], [b65000].End(xlUp))
On Error Resume Next
With C
temp = Sheets(.Value).Range("A1").Value
DateDebut = .Offset(, 1).Value 'Colonne C
DateFin = .Offset(, 2).Value 'Colonne D
Montant = .Offset(, 3).Value 'Colonne E
End With
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = C
ActiveSheet.Hyperlinks.Add Anchor:=C, Address:="", _
SubAddress:="'" & C & "'" & "!A1", TextToDisplay:=C.Value
Worksheets(C.Value).Cells(1, 3) = C
' Ligne = 5
' Worksheets(C.Value).Cells(Ligne, 2) = DateDebut
' Worksheets(C.Value).Cells(Ligne, 3) = DateFin
' Worksheets(C.Value).Cells(Ligne, 4) = Montant
End If
Next
End Sub
Cette macro lit le nom qui se trouve dans la colonne B et duplique le
tableau Modele en le nommant par le nom de la personne !
Maintenant les lignes que j'ai mis en commentaire sont le debut de ce que je
veux faire. Apres le nom, il y a une date de début, une date fin et un
montant.
Une fois que l'onglet est créee, je voudrais dans mon onglet obtenir autant
de mois que la période l'indique.
ex : 23/01/2010 =>15/03/2010
avoir les periodes suivantes :
23/01/2010 => 31/01/2010
01/02/2010=>28/02/2010
01/03/2010=>15/03/2010
et recopier le montant sur chacune des periode.
http://cjoint.com/?fvxVPP8Snj
Un grand grand merci pour votre aide.
Bonne soirée
Philippe
"Philou36" <ws@trol.com> a écrit dans le message de news:
un1SNkJ%23KHA.3176@TK2MSFTNGP05.phx.gbl...
Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
ujAwTZG%23KHA.3840@TK2MSFTNGP02.phx.gbl...
Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Rebonjour les amis,
Je pensais m'en sortir tout seul, mais je suis encore bloqué. Mes
connaissances en VBA etant limité, je me tourne vers vous !
Ce matin MichDenis m'a bien dépanné pour ma macro VBA :
Sub Créer_Onglet()
Dim C As Range
For Each C In Range([b4], [b65000].End(xlUp))
On Error Resume Next
With C
temp = Sheets(.Value).Range("A1").Value
DateDebut = .Offset(, 1).Value 'Colonne C
DateFin = .Offset(, 2).Value 'Colonne D
Montant = .Offset(, 3).Value 'Colonne E
End With
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = C
ActiveSheet.Hyperlinks.Add Anchor:=C, Address:="", _
SubAddress:="'" & C & "'" & "!A1", TextToDisplay:=C.Value
Worksheets(C.Value).Cells(1, 3) = C
' Ligne = 5
' Worksheets(C.Value).Cells(Ligne, 2) = DateDebut
' Worksheets(C.Value).Cells(Ligne, 3) = DateFin
' Worksheets(C.Value).Cells(Ligne, 4) = Montant
End If
Next
End Sub
Cette macro lit le nom qui se trouve dans la colonne B et duplique le
tableau Modele en le nommant par le nom de la personne !
Maintenant les lignes que j'ai mis en commentaire sont le debut de ce que je
veux faire. Apres le nom, il y a une date de début, une date fin et un
montant.
Une fois que l'onglet est créee, je voudrais dans mon onglet obtenir autant
de mois que la période l'indique.
ex : 23/01/2010 =>15/03/2010
avoir les periodes suivantes :
23/01/2010 => 31/01/2010
01/02/2010=>28/02/2010
01/03/2010=>15/03/2010
et recopier le montant sur chacune des periode.
http://cjoint.com/?fvxVPP8Snj
Un grand grand merci pour votre aide.
Bonne soirée
Philippe
"Philou36" a écrit dans le message de news:
un1SNkJ%Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" a écrit dans le message de news:
ujAwTZG%Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Salut Philou36,
peut être un élément de réponse ici:
http://cjoint.com/?fxkjfPUrQ2
En fait, je me suis servi de ton onglet Modele pour y inclure des formules
et ceci te permet d'avoir tes données en fonction des noms de ton onglet
MenuPrincipal.
En espérant que cela corresponde a tes attentes.
@+ Lolote
Philou36 a écrit :Rebonjour les amis,
Je pensais m'en sortir tout seul, mais je suis encore bloqué. Mes
connaissances en VBA etant limité, je me tourne vers vous !
Ce matin MichDenis m'a bien dépanné pour ma macro VBA :
Sub Créer_Onglet()
Dim C As Range
For Each C In Range([b4], [b65000].End(xlUp))
On Error Resume Next
With C
temp = Sheets(.Value).Range("A1").Value
DateDebut = .Offset(, 1).Value 'Colonne C
DateFin = .Offset(, 2).Value 'Colonne D
Montant = .Offset(, 3).Value 'Colonne E
End With
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = C
ActiveSheet.Hyperlinks.Add Anchor:=C, Address:="", _
SubAddress:="'" & C & "'" & "!A1", TextToDisplay:=C.Value
Worksheets(C.Value).Cells(1, 3) = C
' Ligne = 5
' Worksheets(C.Value).Cells(Ligne, 2) = DateDebut
' Worksheets(C.Value).Cells(Ligne, 3) = DateFin
' Worksheets(C.Value).Cells(Ligne, 4) = Montant
End If
Next
End Sub
Cette macro lit le nom qui se trouve dans la colonne B et duplique le
tableau Modele en le nommant par le nom de la personne !
Maintenant les lignes que j'ai mis en commentaire sont le debut de ce que
je veux faire. Apres le nom, il y a une date de début, une date fin et un
montant.
Une fois que l'onglet est créee, je voudrais dans mon onglet obtenir
autant de mois que la période l'indique.
ex : 23/01/2010 =>15/03/2010
avoir les periodes suivantes :
23/01/2010 => 31/01/2010
01/02/2010=>28/02/2010
01/03/2010=>15/03/2010
et recopier le montant sur chacune des periode.
http://cjoint.com/?fvxVPP8Snj
Un grand grand merci pour votre aide.
Bonne soirée
Philippe
"Philou36" a écrit dans le message de news:
un1SNkJ%Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" a écrit dans le message de news:
ujAwTZG%Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Salut Philou36,
peut être un élément de réponse ici:
http://cjoint.com/?fxkjfPUrQ2
En fait, je me suis servi de ton onglet Modele pour y inclure des formules
et ceci te permet d'avoir tes données en fonction des noms de ton onglet
MenuPrincipal.
En espérant que cela corresponde a tes attentes.
@+ Lolote
Philou36 a écrit :
Rebonjour les amis,
Je pensais m'en sortir tout seul, mais je suis encore bloqué. Mes
connaissances en VBA etant limité, je me tourne vers vous !
Ce matin MichDenis m'a bien dépanné pour ma macro VBA :
Sub Créer_Onglet()
Dim C As Range
For Each C In Range([b4], [b65000].End(xlUp))
On Error Resume Next
With C
temp = Sheets(.Value).Range("A1").Value
DateDebut = .Offset(, 1).Value 'Colonne C
DateFin = .Offset(, 2).Value 'Colonne D
Montant = .Offset(, 3).Value 'Colonne E
End With
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = C
ActiveSheet.Hyperlinks.Add Anchor:=C, Address:="", _
SubAddress:="'" & C & "'" & "!A1", TextToDisplay:=C.Value
Worksheets(C.Value).Cells(1, 3) = C
' Ligne = 5
' Worksheets(C.Value).Cells(Ligne, 2) = DateDebut
' Worksheets(C.Value).Cells(Ligne, 3) = DateFin
' Worksheets(C.Value).Cells(Ligne, 4) = Montant
End If
Next
End Sub
Cette macro lit le nom qui se trouve dans la colonne B et duplique le
tableau Modele en le nommant par le nom de la personne !
Maintenant les lignes que j'ai mis en commentaire sont le debut de ce que
je veux faire. Apres le nom, il y a une date de début, une date fin et un
montant.
Une fois que l'onglet est créee, je voudrais dans mon onglet obtenir
autant de mois que la période l'indique.
ex : 23/01/2010 =>15/03/2010
avoir les periodes suivantes :
23/01/2010 => 31/01/2010
01/02/2010=>28/02/2010
01/03/2010=>15/03/2010
et recopier le montant sur chacune des periode.
http://cjoint.com/?fvxVPP8Snj
Un grand grand merci pour votre aide.
Bonne soirée
Philippe
"Philou36" <ws@trol.com> a écrit dans le message de news:
un1SNkJ%23KHA.3176@TK2MSFTNGP05.phx.gbl...
Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" <michdenis@hotmail.com> a écrit dans le message de news:
ujAwTZG%23KHA.3840@TK2MSFTNGP02.phx.gbl...
Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub
Salut Philou36,
peut être un élément de réponse ici:
http://cjoint.com/?fxkjfPUrQ2
En fait, je me suis servi de ton onglet Modele pour y inclure des formules
et ceci te permet d'avoir tes données en fonction des noms de ton onglet
MenuPrincipal.
En espérant que cela corresponde a tes attentes.
@+ Lolote
Philou36 a écrit :Rebonjour les amis,
Je pensais m'en sortir tout seul, mais je suis encore bloqué. Mes
connaissances en VBA etant limité, je me tourne vers vous !
Ce matin MichDenis m'a bien dépanné pour ma macro VBA :
Sub Créer_Onglet()
Dim C As Range
For Each C In Range([b4], [b65000].End(xlUp))
On Error Resume Next
With C
temp = Sheets(.Value).Range("A1").Value
DateDebut = .Offset(, 1).Value 'Colonne C
DateFin = .Offset(, 2).Value 'Colonne D
Montant = .Offset(, 3).Value 'Colonne E
End With
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = C
ActiveSheet.Hyperlinks.Add Anchor:=C, Address:="", _
SubAddress:="'" & C & "'" & "!A1", TextToDisplay:=C.Value
Worksheets(C.Value).Cells(1, 3) = C
' Ligne = 5
' Worksheets(C.Value).Cells(Ligne, 2) = DateDebut
' Worksheets(C.Value).Cells(Ligne, 3) = DateFin
' Worksheets(C.Value).Cells(Ligne, 4) = Montant
End If
Next
End Sub
Cette macro lit le nom qui se trouve dans la colonne B et duplique le
tableau Modele en le nommant par le nom de la personne !
Maintenant les lignes que j'ai mis en commentaire sont le debut de ce que
je veux faire. Apres le nom, il y a une date de début, une date fin et un
montant.
Une fois que l'onglet est créee, je voudrais dans mon onglet obtenir
autant de mois que la période l'indique.
ex : 23/01/2010 =>15/03/2010
avoir les periodes suivantes :
23/01/2010 => 31/01/2010
01/02/2010=>28/02/2010
01/03/2010=>15/03/2010
et recopier le montant sur chacune des periode.
http://cjoint.com/?fvxVPP8Snj
Un grand grand merci pour votre aide.
Bonne soirée
Philippe
"Philou36" a écrit dans le message de news:
un1SNkJ%Bonjour michdenis
Je viens de faire un test, c'est extra.
Grace a toi, je vais pouvoir continuer mon projet.
Un grand merci pour ton aide.
Bonne journée.
Philippe
"michdenis" a écrit dans le message de news:
ujAwTZG%Bonjour,
Si tu veux lire les colonnes 3, 4 et 5
utilise "Offset(ligne,Colone)"
On peut ainsi transformer ta procédure comme suit :
Sub Créer_Onglet()
Dim C As Range
For Each c In Range([b4], [b65000].End(xlUp))
On Error Resume Next
with C
temp = Sheets(.Value).Range("A1").Value
A = .offset(,1).value 'Colonne C
B = c.offset(,2).value 'Colonne D
C = .offset(,3).value 'Colonne E
end with
If Err > 0 Then
Sheets("Modele").Copy After:=Sheets(Sheets.Count)
ActiveSheet.Name = c
ActiveSheet.Hyperlinks.Add Anchor:=c, Address:="", _
SubAddress:="'" & c & "'" & "!A1", TextToDisplay:=c.Value
Worksheets(c.Value).Cells(1, 3) = c
End If
Next
End Sub