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 de donné d'une colonne


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut sélection de donné d'une colonne
    Bonjour,

    J'ai une feuille excel avec différentes colonnes.
    Dans la colonne B, j'ai des groupes de noms differents, par exemple :

    aa
    bb
    cc etc....

    JE souhaite créer une nouvelle feuille excel pour chaque nom de la colonne B avec les données correspondantes des autres colonnes( une feuille excel pour
    aa, une autre pour bb , une autre pour cc....)

    Mais je sais pas comment faire pour dire que si le nom de la colonne B est different alors il faut créer une nouvelle feuille excel.
    c'est cette notion de "different" que j'arrive pas a coder.



    Merci de votre aide

  2. #2
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour toimeme,

    A la volée (sans tester) cela pourrait ressembler à un truc du genre :
    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
    Sub test()
    Dim i As Integer, x As Integer, NbF As Integer
     
    Application.ScreenUpdating = False
     
    For i = 2 To Cells(Rows.Count, 2).End(xlUp).Row
    NbF = Sheets.Count
        For x = 2 To NbF
            If Sheets(x).Name = Cells(i, 2) Then
                Sheets(x).Select
                '...
                'procédure pour coller les données dans la feuille existante
                '...
                Exit For
            Else
                Sheets.Add after:=Sheets(Sheets.Count)
                ActiveSheet.Name = Cells(i, 2)
                '...
                'procédure pour coller les données dans la nouvelle feuille
                '...
                Exit For
            End If
        Next j
    Next i
     
    Application.ScreenUpdating = True
     
    End Sub

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Bonjour,

    merci pour ta réponse.
    Je me suis mal exprimé: en fait, je veux créer un nouveau classeur pour chaque nom et pas une nouvelle feuille excel.
    est ce qu'il faut juste remplacer "sheet" par " workbook.add"?,

    sinon, j'ai pas compris à quoi correspondait ta variable Nbf?? est le nombre de feuille disponible? si oui comment faites-vous pour connaître ce nombre de feuilles ?
    Merci

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Fring : Juste une précision, j'ai bien sûr testé et cela fonctionne mais à rectifier :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Next j
    Next i
    
    par 
    
    Next x
    Next i

  5. #5
    Expert confirmé
    Avatar de fring
    Homme Profil pro
    Engineering
    Inscrit en
    Février 2008
    Messages
    3 900
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Engineering

    Informations forums :
    Inscription : Février 2008
    Messages : 3 900
    Par défaut
    Bonjour Jacques-Jean, merci pour la correction

    NbF = nombre de feuilles présentent dans le classeur mais le code que je t'ai proposé n'est plus valable si il s'agit de classeurs et non de feuilles...

    A ce moment là il me semble qu'il faudrait procéder via une requête ou un truc du style permettant d'exécuter la procédure sans devoir ouvrir tous les classeurs mais vu que je ne maîtrise pas encore cette procédure, je dois malheureusement laisser la main.

    Bonne chance pour la suite

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Bonjour,

    Merci quand meme pour votre aide.

    je vais voir si je trouve de trucs et je vous tiens au courant.
    SI quelqu'un sait comment on fait, je suis preneur.


    merci

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    251
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 251
    Par défaut
    Bonjour fring,

    jai essayé votre code
    mais excel bloque sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveSheet.Name = Cells(i, 2)
    il est ecrit "erreur définie par l'application ou l'objet""

    savez vous pourquoi ?
    merci

Discussions similaires

  1. transférer données d'une colonne A vers colonne B
    Par oliver75 dans le forum Excel
    Réponses: 2
    Dernier message: 19/06/2007, 18h24
  2. Réponses: 4
    Dernier message: 23/05/2007, 12h07
  3. Aide demandée pour sélection de données dans une liste
    Par pyprog dans le forum Général Python
    Réponses: 2
    Dernier message: 15/08/2006, 22h11
  4. Réponses: 3
    Dernier message: 26/07/2006, 15h58
  5. Effacer toutes les données d'une colonne
    Par denisfavre dans le forum Access
    Réponses: 5
    Dernier message: 12/10/2005, 16h20

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