VbA Xl : Creation onglet par date
Résolu/Fermé
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
-
28 juil. 2011 à 18:34
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 - 14 août 2011 à 14:10
7808622H Messages postés 292 Date d'inscription samedi 23 février 2008 Statut Membre Dernière intervention 19 mai 2018 - 14 août 2011 à 14:10
A voir également:
- VbA Xl : Creation onglet par date
- Xl comparator - Télécharger - Tableur
- Mkdir vba ✓ - Forum VB / VBA
- Vba récupérer valeur cellule ✓ - Forum VB / VBA
- Excel compter cellule couleur sans vba - Guide
- Vba dépassement de capacité ✓ - Forum Excel
4 réponses
melanie1324
Messages postés
1504
Date d'inscription
vendredi 25 mai 2007
Statut
Membre
Dernière intervention
31 janvier 2018
154
29 juil. 2011 à 10:13
29 juil. 2011 à 10:13
Bonjour,
Voici ta demande :
https://www.cjoint.com/?0GDkmDZhjqg
pour que ca fonctionne correctement, dans ta feuille données, mets le premier jour du mois voulu.
Ta feuille données fonctionne avec des formules.
Pour créer les onglets, clique sur le bouton.
Voici ta demande :
https://www.cjoint.com/?0GDkmDZhjqg
pour que ca fonctionne correctement, dans ta feuille données, mets le premier jour du mois voulu.
Ta feuille données fonctionne avec des formules.
Pour créer les onglets, clique sur le bouton.
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
4
29 juil. 2011 à 19:15
29 juil. 2011 à 19:15
Bonjour Mélanie1324
Génial pour le début
juste un souci lorsque je tente de mettre le 1er jour du mois 01/08/2011 par exemple je me retrouve avec des " Créer " en colonne C qui ne correspondant pas a ce que je souhaite. en effet au lieu de me créer les jour du Lundi au Vendredi en onglet il me créé du Dimanche au Jeudi
Petit detail technique supplémentaire si c'est possible, pense tu qu'il est possible de mettre les onglets dans le bon ordre , chronologique du 1 au 30/31 et non pas l'inverse ?
Je te remercie en tout cas pour ta rapidité, c'est sympa de te pencher sur mon probleme
Génial pour le début
juste un souci lorsque je tente de mettre le 1er jour du mois 01/08/2011 par exemple je me retrouve avec des " Créer " en colonne C qui ne correspondant pas a ce que je souhaite. en effet au lieu de me créer les jour du Lundi au Vendredi en onglet il me créé du Dimanche au Jeudi
Petit detail technique supplémentaire si c'est possible, pense tu qu'il est possible de mettre les onglets dans le bon ordre , chronologique du 1 au 30/31 et non pas l'inverse ?
Je te remercie en tout cas pour ta rapidité, c'est sympa de te pencher sur mon probleme
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
4
29 juil. 2011 à 19:20
29 juil. 2011 à 19:20
PS j'avais oublié , voila le rendu du fichier lorsque je l'utilise brut tel que tu me l'as envoyé
https://www.cjoint.com/?AGDtsUPSu6X
par exemple le 5 Aout qui est un vendredi n'existe pas
https://www.cjoint.com/?AGDtsUPSu6X
par exemple le 5 Aout qui est un vendredi n'existe pas
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
4
30 juil. 2011 à 14:27
30 juil. 2011 à 14:27
Bonjour
bon j'ai palié au probleme des jours qui ne correspondaient pas en passant par une formule SI
=SI(A4=2;"Créer";SI(A4=3;"Créer";SI(A4=4;"Créer";SI(A4=5;"Créer";SI(A4=6;"Créer";""))))) en remplacement de la formule de la colonne C
Il ne me reste plus que le classement des onglet dans le code qu'il me faudrait en ordre chronologique de 1 a 30/31 au lieu de l'inverse
si au vu du code du fichier qui est ci dessous, quelqu'un peut m'aider pour reclasser ces onglets
https://www.cjoint.com/?AGEoyGRT1qD
Merci d'avance
Rappel le fichier fnctionnera sur Excel 2002 donc certains codes ne seront pas valable ( encienne version de Vba)
Je testerai deja le code présent lundi au bureau sur ma version " dinosore" poru voir si cela marche
bon j'ai palié au probleme des jours qui ne correspondaient pas en passant par une formule SI
=SI(A4=2;"Créer";SI(A4=3;"Créer";SI(A4=4;"Créer";SI(A4=5;"Créer";SI(A4=6;"Créer";""))))) en remplacement de la formule de la colonne C
Il ne me reste plus que le classement des onglet dans le code qu'il me faudrait en ordre chronologique de 1 a 30/31 au lieu de l'inverse
si au vu du code du fichier qui est ci dessous, quelqu'un peut m'aider pour reclasser ces onglets
https://www.cjoint.com/?AGEoyGRT1qD
Merci d'avance
Rappel le fichier fnctionnera sur Excel 2002 donc certains codes ne seront pas valable ( encienne version de Vba)
Je testerai deja le code présent lundi au bureau sur ma version " dinosore" poru voir si cela marche
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
4
31 juil. 2011 à 13:42
31 juil. 2011 à 13:42
Et voilou j'ai trouvé en creusant dans le forum
J'ai repris le code de Mélanie
en l'appelant creation pour la partie creation
et ajouter une partie tri, que j'ai trouvé sur le forum
Et voilou si ca peut resservir a quelqu'un pour la suite
'Lancement par bouton des deux actions Creation et Tri des onglet par ordre croissant
Private Sub CommandButton1_Click()
Call Creation
Call TrierOnglets
End Sub
-------------------------------------------
' Creation des onglets en fonction de la date
Sub Creation()
i = 4
Do While Sheets("données").Cells(i, 1) <> ""
If Sheets("données").Cells(i, 3) <> "" Then
Sheets("Feuille Type").Copy After:=Sheets(2)
ActiveSheet.Name = Left(Sheets("données").Cells(i, 2), 2)
End If
i = i + 1
Loop
End Sub
----------------------------------------------------
'Tri des onglet par ordre croissant au lieu de l ordre decroissant fait pas le codre CREATIION
Sub TrierOnglets()
Dim Boucle As Integer, Compteur As Integer
For Boucle = 1 To Sheets.Count
If Sheets(Boucle).Visible = True Then
For Compteur = 1 To (Boucle - 1)
If Sheets(Compteur).Visible = True Then
If (UCase(Sheets(Boucle).Name) < UCase(Sheets(Compteur).Name)) Then
Sheets(Boucle).Move before:=Sheets(Compteur)
Exit For
End If
End If
Next Compteur
End If
Next Boucle
End Sub
Merci beaucoup a Mélanie et a ceux qui aurait éventuellement tenté de jeter un oeil,
bon W E et ou vacances pour ceux qui y sont
J'ai repris le code de Mélanie
en l'appelant creation pour la partie creation
et ajouter une partie tri, que j'ai trouvé sur le forum
Et voilou si ca peut resservir a quelqu'un pour la suite
'Lancement par bouton des deux actions Creation et Tri des onglet par ordre croissant
Private Sub CommandButton1_Click()
Call Creation
Call TrierOnglets
End Sub
-------------------------------------------
' Creation des onglets en fonction de la date
Sub Creation()
i = 4
Do While Sheets("données").Cells(i, 1) <> ""
If Sheets("données").Cells(i, 3) <> "" Then
Sheets("Feuille Type").Copy After:=Sheets(2)
ActiveSheet.Name = Left(Sheets("données").Cells(i, 2), 2)
End If
i = i + 1
Loop
End Sub
----------------------------------------------------
'Tri des onglet par ordre croissant au lieu de l ordre decroissant fait pas le codre CREATIION
Sub TrierOnglets()
Dim Boucle As Integer, Compteur As Integer
For Boucle = 1 To Sheets.Count
If Sheets(Boucle).Visible = True Then
For Compteur = 1 To (Boucle - 1)
If Sheets(Compteur).Visible = True Then
If (UCase(Sheets(Boucle).Name) < UCase(Sheets(Compteur).Name)) Then
Sheets(Boucle).Move before:=Sheets(Compteur)
Exit For
End If
End If
Next Compteur
End If
Next Boucle
End Sub
Merci beaucoup a Mélanie et a ceux qui aurait éventuellement tenté de jeter un oeil,
bon W E et ou vacances pour ceux qui y sont
Mytå
Messages postés
2973
Date d'inscription
mardi 20 janvier 2009
Statut
Contributeur
Dernière intervention
20 décembre 2016
950
31 juil. 2011 à 15:15
31 juil. 2011 à 15:15
Salut le forum
Pour éviter une macro de tri de feuilles
Remplace
Mytå
Pour éviter une macro de tri de feuilles
Remplace
Sheets("Feuille Type").Copy After:=Sheets(2)par
Sheets("Feuille Type").Copy After:=Sheets(Sheets.Count)
Mytå
7808622H
Messages postés
292
Date d'inscription
samedi 23 février 2008
Statut
Membre
Dernière intervention
19 mai 2018
4
14 août 2011 à 14:10
14 août 2011 à 14:10
cool merci