Date la création d'onglet

Le
jp
Bonjour,

J'utilise une macro qui me créée des onglets dont le nombre est
variable.
Je souhaiterai que s'affiche en D1 la date se trouvant en A2 de la
feuille edibase pour le premier onglet créé et en suivant le deuxième
onglet créé reprenne la valeur de B2 de la feuille edibase et la
place en D1, etc etc..
Que fa
La macro est la suivante:
Sub Extrait()
Sheets("edibase").Select
For Each c In Range("a2", [a365].End(xlUp)) ' pour chaque jour
On Error Resume Next
Sheets(c.Value).Select ' la feuille existe t-
elle?
If Err <> 0 Then
Sheets("Modèle").Copy After:=Sheets(Sheets.Count) ' création
ActiveSheet.Name = Format(c.Value, "dd-mm-yy")
End If
Next c
End Sub
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Jacques ALARDET
Le #6541531
Bonjour,

Si je comprends, tu veux pouvoir créer jusqu'à 365 onglets dans ton classeur
?

Ca me fait peur rien que d'y penser

J'aurais lancer la boucle suivante
with Sheets("edibase")
For I = 1 to 365
If isempty(.cells(1,I+1)) then exit for
'ici tu mets le code pour créer l'onglet s'il n'existe pas
range("D1") = .cells(1,I+1)
next
end with

A tester

"jp" news:
Bonjour,

J'utilise une macro qui me créée des onglets dont le nombre est
variable.
Je souhaiterai que s'affiche en D1 la date se trouvant en A2 de la
feuille edibase pour le premier onglet créé et en suivant le deuxième
onglet créé reprenne la valeur de B2 de la feuille edibase et la
place en D1, etc... etc..
Que fa
La macro est la suivante:
Sub Extrait()
Sheets("edibase").Select
For Each c In Range("a2", [a365].End(xlUp)) ' pour chaque jour
On Error Resume Next
Sheets(c.Value).Select ' la feuille existe t-
elle?
If Err <> 0 Then
Sheets("Modèle").Copy After:=Sheets(Sheets.Count) ' création
ActiveSheet.Name = Format(c.Value, "dd-mm-yy")
End If
Next c
End Sub
jp
Le #6543381
Bonjour Jacques,

Je ne souhaite pas créer 365 onglets. Ce serait le cas extreme
d'autant qu'il me semble que le maximum est 256.
Je ne souhaite pas non plus une nouvelle macro, je voudrais seulement
la ligne, l'instruction qui me permetra de reporter la date en D1 sous
la forme Lundi 05 mai 2008. Cette première date se trouve en A2 sur la
feuille edibase.
Désolé, mais ta proposition ne correspond pas à mon attente.

JP

On 3 mai, 08:00, "Jacques ALARDET"
Bonjour,

Si je comprends, tu veux pouvoir créer jusqu'à 365 onglets dans ton cl asseur
?

Ca me fait peur rien que d'y penser

J'aurais lancer la boucle suivante
 with Sheets("edibase")
    For I = 1 to 365
               If isempty(.cells(1,I+1)) then exit for
'ici tu mets le code pour créer l'onglet s'il n'existe pas
                range("D1") = .cells(1,I+1)
    next
end with

A tester

"jp" Bonjour,

J'utilise une macro qui me créée des onglets dont le nombre est
variable.
Je souhaiterai que s'affiche en D1 la date se trouvant en A2 de la
feuille edibase pour le premier onglet créé et en suivant le deuxièm e
onglet créé reprenne la valeur de B2 de la feuille edibase  et la
place en D1, etc... etc..
Que fa
La macro est la suivante:
Sub Extrait()
  Sheets("edibase").Select
  For Each c In Range("a2", [a365].End(xlUp))   ' pour chaque jour
     On Error Resume Next
     Sheets(c.Value).Select                 ' la feu ille existe t-
elle?
     If Err <> 0 Then
      Sheets("Modèle").Copy After:=Sheets(Sheets.Count)   ' cr éation
      ActiveSheet.Name = Format(c.Value, "dd-mm-yy")
        End If
   Next c
End Sub


JB
Le #6547641
Bonjour,

Sub Extrait()
Sheets("edibase").Select
For Each c In Range("a2", [a365].End(xlUp)) ' pour chaque jour
On Error Resume Next
Sheets(c.Value).Select
If Err <> 0 Then
Sheets("Modèle").Copy After:=Sheets(Sheets.Count) ' création
ActiveSheet.Name = Format(c.Value, "dd-mm-yy")
[D1] = c.Offset(0, 1)
End If
Next c
End Sub

JB
http://boisgontierjacques.free.fr/
On 3 mai, 07:45, jp
Bonjour,

J'utilise une macro qui me créée des onglets dont le nombre est
variable.
Je souhaiterai que s'affiche en D1 la date se trouvant en A2 de la
feuille edibase pour le premier onglet créé et en suivant le deuxièm e
onglet créé reprenne la valeur de B2 de la feuille edibase  et la
place en D1, etc... etc..
Que fa
La macro est la suivante:
Sub Extrait()
  Sheets("edibase").Select
  For Each c In Range("a2", [a365].End(xlUp))   ' pour chaque jour
     On Error Resume Next
     Sheets(c.Value).Select                 ' la feu ille existe t-
elle?
     If Err <> 0 Then
      Sheets("Modèle").Copy After:=Sheets(Sheets.Count)   ' cr éation
      ActiveSheet.Name = Format(c.Value, "dd-mm-yy")
        End If
   Next c
End Sub


Publicité
Poster une réponse
Anonyme