VBA: sélection d"onglets datés selon champ de date
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je possède un fichier ou un onglet est généré sur demande avec comme nom d'onglet, la date de sa création au format JJ-MM-AA.
je souhaite pouvoir sélectionner des onglets précis en ouvrant une boite de dialogue me demandant un champ de 2 dates afin de sélectionner les onglets compris entre ces dates.
ensuite, je souhaite faire un reporting des données de ces onglets.
Pour cela, je pensais faire un copier/coller des données des onglets dans un nouveau fichier, je traiterais ensuite des données.
Je dois être autonome sur la partie traitement des données.
Je bloque cependant pour sélectionner les onglets via ces champs de dates et pour copier et coller les données de plusieurs onglets a la suite dans un nouveau fichier.
sauriez-vous m'aider?
voici un fichier de base test https://www.cjoint.com/c/LIof5kZNdon
Merci
Windows / Chrome 105.0.0.0
- VBA: sélection d"onglets datés selon champ de date
- Excel compter cellule couleur sans vba - Guide
- Incompatibilité de type vba ✓ - Forum VB / VBA
- Erreur 13 incompatibilité de type VBA excel ✓ - Forum Excel
- Mkdir vba ✓ - Forum VB / VBA
- Dépassement de capacité vba ✓ - Forum Excel
3 réponses
voici un exemple de code:
Option Explicit Private Sub selo() Dim ddeb As String, dfin As String, sh As Worksheet, wdest As Worksheet, rdest As Range, lcur As Long Dim ldeb As Long, lfin As Long ddeb = "10-06-22" dfin = "05-07-22" ldeb = stl(ddeb) lfin = stl(dfin) Set wdest = ThisWorkbook.Worksheets.Add wdest.Name = "desty1" Set rdest = wdest.[a1] For Each sh In ThisWorkbook.Worksheets lcur = stl(sh.Name) If lcur >= ldeb And lcur <= lfin Then rdest = "'" + sh.Name rdest.Offset(, 1) = sh.[e5] Set rdest = rdest.Offset(1) End If Next sh End Sub Private Function stl(s As String) As Long stl = 0 On Error Resume Next stl = CLng(Left(s, 2)) + 100 * CLng(Mid(s, 4, 2)) + 10000 * CLng(Right(s, 2)) End Function
Bonjour,
il faut rajouter cela pour chaque nouvelle cellule voulue c'est bien ça? en changeant la valeur [e6] ?
Bonjour,
ça fonctionne pour copier la première cellule de donnée. j'arrive à ajouter d'autres colonnes souhaitées sur la même donnée.
je n'arrive cependant pas à rajouter d'autres lignes de données.
Comment procéder?
Par exemple, après la ligne 20, ajouter