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 :

regroupement d'information avec separateur


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 3
    Par défaut regroupement d'information avec separateur
    Bonjour,
    J'ai lu cette discussion.
    je suis novice en macro et ce message semble être la réponse à mon problème mais je ne sais pas trop comment la faire fonctionner.
    Citation Envoyé par decondelite Voir le message
    A adapter ce code qui travaille la colonne A et met le résultat en B1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Dim contenu_cellule as String, derniere_ligne As Integer, i As Integer
    derniere_ligne = Feuil1.Cells(Rows.Count, 1).End(xlUp).Row
    contenu_cellule = Cells(1,1).Value
    If Not derniere_ligne = 1 Then
        For i=2 To derniere_ligne
            contenu_cellule = contenu_cellule & "," & Cells(i,1).Value
        Next
    End If
    Cells(1,2).Value = contenu_cellule
    Cordialement
    J'ai fait Alt+F11 et j'ai créé un module et copié le code fournis dedans
    j'ai ensuite enregistré mais il semble que je doit faire autre chose pour que cela marche. Faut il créer Function Dim(x;y) en début de macro ou quelque chose du genre ? Merci d'avance pour votre réponse.
    Cordialement
    Romaric

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Public Sub aaa()
    Dim Tblo
     
    With Sheets("Feuil2") 'à adapter
         Tblo = Application.Transpose(.Range("A2:" & .Range("A" & .Rows.Count).End(xlUp).Address).Value)
         .Range("C2") = Join(Tblo, ",")
    End With
    End Sub

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 3
    Par défaut
    Merci pour les précisions...
    Je suis toujours en galère
    J'ai bien mis le code dans Alt + F11... La fonction aaa ne se déclenche pas alors j'ai essayé de mettre Function aaa() et End Function à la fin au lieu de Public Sub aaa() et End Sub. J'ai bien la fonction qui apparait maintenant.
    Mais dans mon tableau Feuil2, je veux le résultat de A2:C2, je met dans D4 par exemple aaa(A2;C2) mais je n'est pas de résultat.
    Je fait de mon mieux mais je doit oublier quelque chose...
    Cordialement

  4. #4
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Dans un module standard insère cette fonction
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Public Function aaa(Rng As Range) As String
    Dim Tblo
     
    If Rng.Count > 1 Then
        If Rng.Rows.Count = 1 Then
            Tblo = Application.Transpose(Application.Transpose(Rng.Value))
        ElseIf Rng.Columns.Count = 1 Then
            Tblo = Application.Transpose(Rng.Value)
        Else
            Exit Function
        End If
        aaa = Join(Tblo, ",")
    End If
    End Function
    en D4 tu entre ceci =aaa(A2:C2")

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 3
    Par défaut Grand Merci :)
    J'ai enfin la réponse à ma question
    Merci de votre aide et de votre savoir faire

    PS : j'ai juste enlevé " après C2 (=aaa(A2:C2")) pour avoir ca (=aaa(A2:C2)) et ca a marché

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 01/03/2014, 05h28
  2. regroupement d'information avec separateur
    Par slorgue dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/10/2008, 11h28
  3. Réponses: 20
    Dernier message: 09/02/2006, 09h45
  4. Colonne de zone de liste avec separateur millier
    Par uloaccess dans le forum Access
    Réponses: 3
    Dernier message: 11/01/2006, 16h28
  5. Réponses: 15
    Dernier message: 02/12/2005, 17h12

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