IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Créer des nouvelles feuilles avec des dates spécifiques


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2018
    Messages : 37
    Par défaut Créer des nouvelles feuilles avec des dates spécifiques
    Bonjour,

    j'ouvre donc un nouveau sujet sur lequel je coince.
    Je rappelle encore que je suis novice de chez novice et qu'il s'agit de ma première vraie macro.

    J'ai donc un fichier de mesures, consituté de X colonnes.
    En principe la première colonne sera toujours celle de la date/heure, ensuite il s'agit de température et d'humidité
    Dans mon tableau, la premiere date (en A2 donc), est le 16/05/2017 05:12:00. Le dernier enregistrement est daté au 10/09/217 06:36:00.
    A partir de cette feuille, je souhaite créer autant de feuilles que j'ai de mois d'acquisitions, afin d'avoir une relevé mensuel sur chaque feuille (ici MAI 2017- JUIN 2017 - JUILLET 2017 - AOUT 2017 - SEPT 2017, soit 5 feuilles supplémentaires)
    Mais chaque mois doit commencer au 1er à 00:00:00 et se terminer le dernier jour à 23:48:00 (mes données sont mesurées avec un intervalle de 12 minutes).

    Donc comment faire pour avoir une feuille qui commence le 01/05/2017 à 00:00:00, qui ne comportera pas de données jusqu'à la date du 16/05/2017 à 05:00, et qui se terminera le 31/05/2017 à 23:48:00?

    Je ne sais pas si j'ai été très clair....

  2. #2
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Ne serait-il pas plus simple de placer sur tes données un filtre qui te permette de n'afficher que les données de la période donnée ?
    Ca a l'avantage de pouvoir être mis en place en quelques secondes sans code.

    Si tu tiens à passer par du VBA, regarde du côté des filtres avancés.
    http://philippetulliez.developpez.co...dvancedfilter/
    En le faisant une fois à la main après avoir activé l'enregistreur automatique de macro, tu auras 80% du code livré sur un plateau.

  3. #3
    Membre averti
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2018
    Messages : 37
    Par défaut
    Merci Menhir

    Je vais tacher de regarder cela dans la journée.

  4. #4
    Membre averti
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2018
    Messages : 37
    Par défaut
    Bonjour,

    j'ai parcouru le lien fourni mais ca reste confus pour moi.

    Je progresse tout doucement.
    Comme mon enregistrement de mesures couvre 5 mois, je veux avoir 5 nouvelles feuilles.
    J'ai réussi à en créé 5, mais ensuite j'ai souhaité que lorsque je créé ces nouvelles feuilles, elles soient automatiquement renommé en fonction du mois (mois 05, mois 06...mois 09) dans mon cas.
    J'ai pour le moment réussi à créer la feuille "mois 05" mais mon code plante et ne veut pas créer les autres.

    Voici la partie de mon code:
    la msgBox indique à l'opérateur le nb de feuilles qui vont etre créées.
    La variable nummoisdeb va chercher dans la première cellule de données, la valeur du mois correspondant.
    Ensuite je rajoute la feuille qui portera le nom nummoisdeb (déclaré en haut de mon prog en string)
    Donc jusqu'à cette étape cela marche.
    J'ai voulu ensuite faire une boucle
    mais cela ne lui plait pas !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    MsgBox ("La durée d'acquisition est de " & dureeacq & " mois." & Chr(10) & "Il y aura donc " & feuillesmensuelles & " feuilles mensuelles rajoutées.")
        nummoisdeb = "mois" & " " & Month(Range("A2"))
     
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = nummoisdeb
     
     For i = 1 To feuillesmensuelles
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = nummoisdeb + i
    Next

  5. #5
    Membre averti
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2018
    Messages : 37
    Par défaut
    Comme un grand, j'ai trouvé
    mon code doit plutôt etre comme ceci.
    Je ne pouvais pas écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    nummoisdeb = "mois" & " " & Month(Range("A2"))
    et ensuite faire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = nummoisdeb + i
    du coup, comme ceci cela marche.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    MsgBox ("La durée d'acquisition est de " & dureeacq & " mois." & Chr(10) & "Il y aura donc " & feuillesmensuelles & " feuilles mensuelles rajoutées.")
     
        nummoisdeb = Month(Range("A2"))
     
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "mois" & nummoisdeb
     
     For i = 1 To feuillesmensuelles - 1
    Sheets.Add(after:=Worksheets(Worksheets.Count)).Name = "mois" & " " & nummoisdeb + i

  6. #6
    Membre averti
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2018
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Technicien
    Secteur : Service public

    Informations forums :
    Inscription : Septembre 2018
    Messages : 37
    Par défaut
    Maintenant, je cherche à mettre dans les feuilles créées (mois 05, mois 06...mois 09), toutes les lignes qui sont sur une autre feuille et dont le mois de la date dans la colonne A (sous la forme DD/MM/AAAA HH:MM:SS) correspond au numéro du mois de la feuille.
    Pour faire plus clair
    Toutes mes données du mois de mai qui sont dans la colonne A de ma feuille 2, doivent etre copiées dans la feuille Mois 05.
    Les données du mois de juin seront mises dans la feuille nommée mois 06
    etc....

    Je pense qu'il me faut faire une boucle mais je sèche. C'est un peu confus dans ma tête à cette heure-ci

Discussions similaires

  1. Créer une nouvelle feuille avec un nom variable.
    Par chriss01800 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 05/10/2017, 10h59
  2. créer une nouvelle table avec des conditions
    Par Cedricvv dans le forum R
    Réponses: 1
    Dernier message: 12/06/2017, 17h46
  3. Créer une nouvelle feuille avec le nom de la cellule active
    Par edynatal dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 26/01/2017, 09h57
  4. Réponses: 2
    Dernier message: 21/04/2016, 18h50
  5. [XL-2013] Créer un nouvelle feuille avec bouton
    Par apdf1 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 25/02/2015, 11h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo