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 une nouvelle feuille à chaque changement de valeur dans la colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut Créer une nouvelle feuille à chaque changement de valeur dans la colonne
    Bonjour,

    Avant de commencer, voici un exemple :

    Colonne A | Colonne B
              |
    7001      | Richard
    7001      | Marc
    7001      | Lucie
    7002      | Paul
    7002      | Evelyne
    7002      | Marie
    Ce que j'aimerais faire, c'est qu'à chaque fois que la valeur change dans la colonne A, une nouvelle feuille est créée, avec comme nom la valeur de la cellule, en recopiant toute la ligne

    Donc on va avoir une nommé 7001, et autre 7002


    Depuis tout à l'heure je me casse la tête mais je n'y arrive pas

  2. #2
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonjour,

    A mettre dans le module de ta feuille :
    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    Private Sub Worksheet_Change(ByVal Target As Range)
     
        Dim Fe As Worksheet
        Dim Plage As Range
        Dim Existe As Integer
     
        If Not Intersect(Target, [A:A]) Is Nothing Then
     
            'définie la plage pour la recherche
            Set Plage = Range([A1], [A65536].End(xlUp))
     
            'compte le nombre de valeurs
            Existe = Application.CountIf(Plage, Target)
     
            'si une seule (celle de target), crée la feuille
            'la renomme avec la valeur de target et copie
            'la ligne entrière de target dans la nouvelle
            'feuille en partant de A1
            If Existe = 1 Then
     
                Set Fe = Worksheets.Add
                Fe.Name = Target.Value
                Target.EntireRow.Copy Fe.[A1]
     
            End If
     
        End If
     
        Set Plage = Nothing
        Set Fe = Nothing
     
    End Sub
    Hervé.

  3. #3
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut
    merci !!

    il me mets ce message d'erreur :

    "erreur 424, objet requis"

  4. #4
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Re,

    Chez moi ça fonctionne très bien, sur quelle ligne as tu cette erreur ?

    Hervé.

  5. #5
    Membre éprouvé Avatar de Vadorblanc
    Profil pro
    Inscrit en
    Février 2008
    Messages
    309
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 309
    Par défaut
    Bonjour
    These
    Super ça marche, je mets ton code de côté
    Merci

  6. #6
    Membre éclairé
    Homme Profil pro
    Assistant technique
    Inscrit en
    Février 2007
    Messages
    336
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Assistant technique
    Secteur : Services à domicile

    Informations forums :
    Inscription : Février 2007
    Messages : 336
    Par défaut
    Citation Envoyé par Theze Voir le message
    Re,

    Chez moi ça fonctionne très bien, sur quelle ligne as tu cette erreur ?

    Hervé.
    Excuse de ne pas voir répondu plus tôt, mais je pensais être averti par mail dès qu'il y aurait une réponse

    A cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If Not Intersect(Target, [A:A]) Is Nothing Then

  7. #7
    Expert confirmé
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    3 453
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2010
    Messages : 3 453
    Par défaut
    Bonsoir wyser,

    remplace la ligne par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    If Not Intersect(Target, Range("A1:A65536")) Is Nothing Then
    Hervé.

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

Discussions similaires

  1. Créer une nouvelle feuille
    Par lolonico dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 08/09/2008, 11h45
  2. Réponses: 1
    Dernier message: 13/05/2008, 13h44
  3. [C#] Créer une nouvelle feuille dans un classeur Excel
    Par amoiraud dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/03/2008, 09h53
  4. Réponses: 2
    Dernier message: 23/04/2007, 15h26
  5. Réponses: 6
    Dernier message: 27/08/2006, 19h57

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