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 :

Concatener sur une plage variable


Sujet :

Macros et VBA Excel

  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut Concatener sur une plage variable
    Bonjour,
    Je voudrais concaténer les valeurs de plusieurs cellules sur une plage variable.

    J'utilise le code:

    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
    Sub Conc()
     
    Dim i As Integer, CommUn As String, LISTCOM As Range, DerCom As Range
     
    Set DerCom = Cells(1, Range("IV1").End(xlToLeft).Column)
    LISTCOM = Range("" & Cells(1, 26), DerCom & "").Value
     
     
     
    Range("W1").Select
        ActiveCell.FormulaR1C1 = "=ConcatPlage(" & LISTCOM & ",""-"")"
        Range("W2").Select
     
     
     
    End Sub
     
     
     
     
    Function ConcatPlage(plage As Range, Optional séparateur As String = ", ") As String
        Dim rep As String, c As Range
        For Each c In plage
            If c.Value <> "" Then
                rep = rep & c.Value & séparateur
            End If
        Next c
        ConcatPlage = Left(rep, Len(rep) - Len(séparateur))
    End Function

    Ce code me renvoie la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    LISTCOM = Range("" & Cells(1, 27), DerCom & "")
    en surbrillance avec l'erreur: 1004: La méthode 'Range' de l'objet '-Global' a échoué.


    Je crois comprendre que mon erreur vient de la définition de mes plage avec mes Range.


    Merci de me donner un petit coup de main

  2. #2
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut
    J'ai essayé d'avance:

    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
    Dim i As Integer, CommUn As String, LISTCOM As Range, DerCom As Range, DerCol As String, a As Range
     
    DerCol = ConvertCol(Range("AF1").End(xlToLeft).Column)
    Set DerCom = Cells(1, Range("AF1").End(xlToLeft).Column)
     
     
     
        Set a = Range("AA1:" & DerCol & "1")
        a.Select
     
    Range("W1").Select
        ActiveCell.FormulaR1C1 = "=ConcatPlage(" & a & ","","")"
        Range("W2").Select
     
     
     
    End Sub
    Là ça plante sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = "=ConcatPlage(" & a & ","","")"
    :

    Erreur d'exécution 13: incompatibilité de type.....

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    1 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 1 150
    Par défaut
    Pour info, je suis arrivé a cette solution.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Range("W1").Select
        ActiveCell.FormulaR1C1 = "=ConcatPlage(R1C27:R1C" & Range("AF1").End(xlToLeft).Column & ","","")"
        Range("W2").Select

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 11/12/2015, 15h05
  2. [XL-2007] Étendre une formule à l'aide de VBA sur une plage variable
    Par cyril7751 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 24/07/2012, 16h23
  3. [XL-2010] Création TCD sur onglet variable (a partir d'une plage variable)
    Par WilliamAd dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/06/2012, 10h42
  4. Somme sur une plage variable
    Par Sarune dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/08/2008, 13h40
  5. Somme sur une plage variable
    Par mhamedbj dans le forum Excel
    Réponses: 2
    Dernier message: 29/02/2008, 15h56

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