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éation d'une macro avec cycle [XL-2013]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Services de proximité

    Informations forums :
    Inscription : Octobre 2020
    Messages : 8
    Par défaut Création d'une macro avec cycle
    Bonjour à tous,

    Je vous sollicite car j'ai besoin d'aide pour une macro.

    J'ai créé un fichier de départ dans lequel figure en feuille 1 un numéro de semaine (S45) et les jours se rapportant à celle-ci. J'ai mis en place une macro qui me permet de créer la semaine suivante : elle copie la feuille dans un nouvel onglet (feuille 2) et modifie le numéro de la semaine (S46) ainsi que les dates afférentes.
    Jusqu'à cette étape cela fonctionne.

    Mon problème, c'est que je souhaiterais ensuite depuis la feuille 2 (soit depuis la semaine 46) pouvoir créer la semaine 47 et ainsi de suite. Par contre, je ne sais pas comment faire car je débute en macro.

    Je vous remercie par avance de votre aide.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre du Club
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Services de proximité

    Informations forums :
    Inscription : Octobre 2020
    Messages : 8
    Par défaut
    Je vous adresse mon fichier de travail en pièce jointe pour que ce soit plus claire.Fiche de suivi.xlsm

  3. #3
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    Bonjour
    éviter .select dans tes futures programmation
    ce que je propose
    tu clic sur le bouton tu aura un message te demande de saisir le numéro de la semaine à créer ... si par erreur l'onglet dédié à cette semaine est déjà crée vous aurez un message t'informe de la situation et le traitement est annulé...si non un onglet sera créée avec ce numéro de semaine ayant comme nom S+numéro de semaine
    la date du premier lundi de la semaine est déduite avec la formule :
    ($C$2+(($B$2-1)*7))-((JOURSEM(($C$2+(($B$2-1)*7));2))-1)
    NB : j'ai saisi le 01/01/2020 en C2 pour identifiée l'année : à mettre en blanc pour ne pas paraître ds tes fichiers
    le mardi est bien évidemment lundi +1
    code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Sub test()
    Dim VALEUR As Long
    VALEUR = Application.InputBox("Merci de saisir le numéro de la semaine à créer : ", "titre le l'inputbox", , , , , , 1) 'le 1 impose du numérique. Voir l'aide pour trouver la bonne constante
       For i = 1 To Worksheets.Count
            If Worksheets(i).Name = "S" & VALEUR Then
                MsgBox ("Semaine existe déja !!! merci de vérifier !")
                Exit Sub
            End If
        Next i
    Sheets(2).Copy After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "S" & VALEUR
    ActiveSheet.Range("B2") = VALEUR
    End Sub
    un fichier exemple à tester
    Fichiers attachés Fichiers attachés

  4. #4
    Membre du Club
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Services de proximité

    Informations forums :
    Inscription : Octobre 2020
    Messages : 8
    Par défaut
    Bonjour et merci beaucoup pour cette aide précieuse.

    J'adore le fait de saisir directement le numéro de semaine souhaité pour créer la feuille c'est juste génial.
    Je viens d'appliquer le code à mon fichier et c'est presque parfait à un détail prêt.

    Je souhaite effacer le contenu du tableau (partie blanche).

    Pouvez-vous m'aider sur ce dernier points ? Car j'utilisais le code ci-dessous mais je pense qu'il y a une manière plus propre de faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Range("C12").Select
        Range(Selection, Selection.End(xlDown)).Select
        Range("C12:G18").Select
        Selection.ClearContents
    Je vous remercie beaucoup.
    Fichiers attachés Fichiers attachés

  5. #5
    Expert confirmé Avatar de BENNASR
    Homme Profil pro
    Responsable comptable & financier
    Inscrit en
    Décembre 2013
    Messages
    2 974
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Responsable comptable & financier
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2013
    Messages : 2 974
    Par défaut
    bonjour
    j'ai porté qq modif tel que le rang de ton fichier masqué c'est pourquoi je recommande de travailler avec ce fichier joint
    NB : j'ai ajouter le nettoyage de la zone blanche
    à tester
    Fichiers attachés Fichiers attachés

  6. #6
    Membre du Club
    Femme Profil pro
    Ressources humaines
    Inscrit en
    Octobre 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 39
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ressources humaines
    Secteur : Services de proximité

    Informations forums :
    Inscription : Octobre 2020
    Messages : 8
    Par défaut
    Ok, je comprends la démarche mais j'ai encore une problématique.

    Dans le cas ou j'ajoute une ligne dans le tableau la formule ne me permet pas de prendre l'intégralité du tableau.
    J'ai ajouté une ligne en rang 15 mais du coup ma dernière ligne ne s'efface pas.

    Merci encore

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/09/2015, 08h14
  2. Création d'une table avec une macro SAS
    Par sasalmahboul dans le forum Macro
    Réponses: 0
    Dernier message: 03/12/2012, 00h32
  3. [WD-2010] Création d'une macro avec une condition
    Par jijidu67 dans le forum VBA Word
    Réponses: 8
    Dernier message: 05/12/2011, 15h41
  4. Création d'une macro avec un paramètre
    Par jacklafrip dans le forum C
    Réponses: 4
    Dernier message: 19/02/2008, 21h35
  5. Création d'une base avec IbConsole
    Par Lucien dans le forum Outils
    Réponses: 3
    Dernier message: 02/03/2004, 18h34

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