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 :

Sélection d'onglets par série


Sujet :

Macros et VBA Excel

  1. #1
    Membre actif Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Points : 265
    Points
    265
    Par défaut Sélection d'onglets par série
    Bonjour

    Je viens enfin de trouver le chemin pour faire mes demandes directement dans VBA Excel(c'est pas trop tôt)

    Dans un classeur Excel, j'ai des onglets qui se créent automatiquement pour chaque jour du mois à chaque fois que j'ouvre tous les jours le fichier. Ce que j'aimerai, c'est qu'au début du mois suivant, tous les onglets du mois précédent se retouvent dans un nouveau classeur pour pouvoir être enregistrés.

    Merci à vous de m'aider.

  2. #2
    Membre émérite Avatar de Godzestla
    Homme Profil pro
    Chercheur de bonheur
    Inscrit en
    Août 2007
    Messages
    2 392
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chercheur de bonheur
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2007
    Messages : 2 392
    Points : 2 985
    Points
    2 985
    Par défaut
    Citation Envoyé par babybell Voir le message
    Bonjour

    Je viens enfin de trouver le chemin pour faire mes demandes directement dans VBA Excel(c'est pas trop tôt)
    Bravo. Chaque avancement est une victoire.
    Peux tu tenter un nouvel exploit ? Montre ton code !

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    J'envisage diverses solutions, mais tout dépend effectivement du code qui t'a permis de faire ce que tu as fait.

  4. #4
    Membre actif Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Points : 265
    Points
    265
    Par défaut
    Voila le code pour créer mes onglets au jour le jour

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    jour = Left(Date, 2)
    mois = Mid(Date, 4, 2)
    année = Right(Date, 4)
    If Len(jour) < 2 Then
    jour = "0" & jour
    End If
    If Len(mois) < 2 Then
    mois = "0" & mois
    End If
    aujourd_hui = jour & "-" & mois
    For Each FEUILLE In Sheets
    FEUILLE.Activate
       If ActiveSheet.Name = aujourd_hui Then
    GoTo Fin
        Exit For
        End If
    Sheets.Add
    ActiveSheet.Name = aujourd_hui
    Feuille_Destination = ActiveSheet.Name
    J'aimerai que le mois suivant, quand j'ouvre mon fichier, tous les onglets du mois précédent se retrouvent dans un autre classeur afin d'être enregistrés.

    merci de ta réponse

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    Je ne le trouve pas très propre ce code (et il est même pas entier je vois même pas d'étiquette "Fin"), mais bon je passe outre car ce qui m'intéresse vraiment c'est où tu l'as mis.

  6. #6
    Membre actif Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Points : 265
    Points
    265
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Fin:
    run (.....)
    ...
    End Sub
    J'ai été obligé de faire un Run d'un autre code car je suis en:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub Workbook_Open()

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    Bon.

    Tu as 2 solutions:
    -ouvrir un nouveau classeur avec autant de feuilles que le nombre de feuilles du classeur actuel, copier leur contenu une à une, enregistrer cet autre classeur, le fermer, et vider le classeur actuel
    -soit tu utilise une méthode un peu "tirée par les cheveux", qui consiste à garder en mémoire le chemin du classeur actuel, l'enregistrer sous un autre nom, ouvrir le classeur du chemin en mémoire (vu que le classeur actuel n'est plus celui-là), le vider, et fermer le classeur actuel.

    La deuxième solution n'est peut-être pas très simple à comprendre, mais elle évite de se cogner la programmation de copie des feuilles et des cellules.

  8. #8
    Membre actif Avatar de babybell
    Homme Profil pro
    Retraité Bancaire
    Inscrit en
    Septembre 2008
    Messages
    495
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Retraité Bancaire
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Septembre 2008
    Messages : 495
    Points : 265
    Points
    265
    Par défaut
    Merci de ta réponse.

    A défaut de code VBA, je vais tester les 2 solutions, car tous les mois n'ont pas le même nombre de jours ouvrés.

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    753
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 753
    Points : 855
    Points
    855
    Par défaut
    Je pourrais te le pondre le code VBA, mais honnêtement je préfère que ce soit toi qui y réfléchisse que quelqu'un d'autre à ta place: cela ne t'apporterait rien.

    Je t'ai donné la trame générale du code, mais après ça se traduit tout seul.

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

Discussions similaires

  1. TChart, Zone de sélection et masquage de série
    Par kurul1 dans le forum C++Builder
    Réponses: 5
    Dernier message: 15/02/2008, 11h23
  2. [MySQL] Problème requête de sélection d'id par lieu
    Par mLk92 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 07/08/2006, 16h15
  3. Code bouton pour sélection d'onglet
    Par tojiji dans le forum Access
    Réponses: 5
    Dernier message: 19/06/2006, 11h40
  4. [PowerBuilder] Onglet par défaut
    Par Moloko dans le forum Powerbuilder
    Réponses: 1
    Dernier message: 21/02/2006, 14h18
  5. Réponses: 7
    Dernier message: 19/10/2004, 23h40

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