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 :

Blocage sur creation de feuilles [Toutes versions]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 352
    Par défaut Blocage sur creation de feuilles
    Bonjour le forum
    Avec l' enregistreur de macro j' ai cree cette procedure
    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
       Sheets("Contenu de répertoire").Select
        Rows("4:9837").Select
        Selection.Copy
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Paste
        Columns("A:A").ColumnWidth = 10.86
        Columns("B:B").ColumnWidth = 36.71
        Columns("B:B").ColumnWidth = 39.71
        Sheets("Contenu de répertoire").Select
        Application.CutCopyMode = False
        Sheets("Contenu de répertoire").Name = "Contenu de répertoire22"
        Sheets("Feuil3").Select
        Sheets("Feuil3").Name = "Contenu de répertoire"
        Range("K29:L29").Select
        Range("L29").Activate
        ActiveWorkbook.Save
    Le principe c'est de selectionner la ligne 4 juqu' a la ligne 9837 Copie et Coller vers une nouvelle feuille qui aura été creé auparavant
    La ou se situe le pb c' est que le nom de la nouvelle feuille est écrit en dur dans la code
    On bloque dessus car a la prochiane execution il cherchera une feuill3 qui n' existera pas car elle aura été entretemps renommée
    Comment lui dire de me creer une nouvelle feuille et de lui attribué un nom ?. Pour ne pas avoir le nom feuill3 écrit en dur
    Merci d' avance pour toute aide apporté sur une eventuelle modification
    Aladin

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 161
    Par défaut
    Bonjour,
    les copies se font toujours depuis la feuille "Contenu de répertoire" ?
    et si oui quel est le nom de la copie ? et faut il une copie supplémentaire a chaque fois ou faut il écraser la copie ?

  3. #3
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Sheets.Add 
    ActiveSheet.Name = "Nom de la nouvelle feuille"

  4. #4
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 352
    Par défaut
    Bonjour le forum
    Merci d' avoir répondu à mon post
    spookyz : Oui les copies se font toujours depuis la feuille "contenu de répertoire"
    Oui il faut une copie supplumentaire a chaque fois
    La copie doit reprendre le nom "contenu de repertoire" et L' autre renommé en "conteneu de répertoire22"
    NouveauVBA: j' ai utilisé le
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Name = "Contenu de répertoire"
    La modification est bonne, le copie/Coller et le renommage sont OK
    Aladin

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Septembre 2012
    Messages
    1 733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2012
    Messages : 1 733
    Par défaut
    Parfait. Tu peux cliquer sur résolu

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    161
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 161
    Par défaut
    Je ne pense pas que tu puisse donner le même nom a plusieurs feuilles il faut donc modifier le nom de chaque nouvelles feuille par exemple contenu répertoire_1
    contenu répertoire-2 etc

  7. #7
    Membre éclairé
    Homme Profil pro
    Responsable d'un système d'information métier
    Inscrit en
    Septembre 2013
    Messages
    51
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Responsable d'un système d'information métier
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2013
    Messages : 51
    Par défaut
    Modife ton code comme suivant (2 modifs) :

    Citation Envoyé par Aladin_23 Voir le message
    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
    20
    21
       Sheets("Contenu de répertoire").Select
        Rows("4:9837").Select
        Selection.Copy
        Sheets.Add After:=Sheets(Sheets.Count)
     
                        x = Activesheet.name
     
        ActiveSheet.Paste
        Columns("A:A").ColumnWidth = 10.86
        Columns("B:B").ColumnWidth = 36.71
        Columns("B:B").ColumnWidth = 39.71
        Sheets("Contenu de répertoire").Select
        Application.CutCopyMode = False
        Sheets("Contenu de répertoire").Name = "Contenu de répertoire22"
        'Sheets("Feuil3").Select
        'Sheets("Feuil3").Name = "Contenu de répertoire"
                  Sheets(x).Name = "Contenu de répertoire"
     
        Range("K29:L29").Select
        Range("L29").Activate
        ActiveWorkbook.Save

  8. #8
    Membre éclairé
    Inscrit en
    Avril 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 352
    Par défaut
    Bonjour à tous
    J' ai fait ceci qui fonctionne pour l' instant
    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
    Sheets("Contenu de répertoire").Select
        Rows("4:9837").Select
        Selection.Copy
        Sheets.Add After:=Sheets(Sheets.Count)
        ActiveSheet.Name = "Contenu de répertoire2"
        ActiveSheet.Paste
        Columns("A:A").ColumnWidth = 10.86
        Columns("B:B").ColumnWidth = 36.71
        Columns("B:B").ColumnWidth = 39.71
        Sheets("Contenu de répertoire").Select
        Application.CutCopyMode = False
        Sheets("Contenu de répertoire").Name = "Contenu de répertoire22"
        Sheets("Contenu de répertoire2").Select
        ActiveSheet.Name = "Contenu de répertoire"
       ' Sheets("Contenu de répertoire").Select
        Range("K29:L29").Select
        Range("L29").Activate
        ActiveWorkbook.Save
    Je ne fais pas de copie tous les jours, je ne pense pas que j' aurai a renommer les feuilles en." contenu de repertoire1".Je verrai par la suite si il faut une amelioration.
    Merci bcp
    Aladin

  9. #9
    Expert confirmé Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Par défaut
    Bonjour,
    Evites tous tes "Select", à part le dernier s'il est vraiment utile (à voir)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sheets("Contenu de répertoire").Rows("4:9837").Copy
    Sheets.Add After:=Sheets(Sheets.Count)
    ActiveSheet.Name = "Contenu de répertoire2"
    ActiveSheet.Paste
    Columns("A:A").ColumnWidth = 10.86
    Columns("B:B").ColumnWidth = 36.71
    Columns("B:B").ColumnWidth = 39.71
    Application.CutCopyMode = False
    Sheets("Contenu de répertoire").Name = "Contenu de répertoire22"
    Sheets("Contenu de répertoire2").Name = "Contenu de répertoire"
    Range("L29").Select
    ActiveWorkbook.Save
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur :resolu: si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

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

Discussions similaires

  1. Probleme sur creation menu popup
    Par biloute2121 dans le forum MFC
    Réponses: 1
    Dernier message: 11/01/2006, 08h41
  2. Action sur toutes les feuilles d'un classeur
    Par beurnoir dans le forum Macros et VBA Excel
    Réponses: 14
    Dernier message: 23/12/2005, 15h11
  3. [XSLT] creation de feuille xslt automatique
    Par jaxml dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 15/12/2005, 00h26
  4. Réponses: 2
    Dernier message: 17/11/2005, 13h57
  5. pb sur creation de tables
    Par RolandB dans le forum SQL Procédural
    Réponses: 6
    Dernier message: 14/11/2005, 08h54

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