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 :

concatenation en vba


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut
    bonsoir , j'ai voudrais concaténer chaque champs d'une colonne a avec les champs d'une colonne b
    le problème c'est que je n'arrive pas à l'incrémenter sur 20000 lignes
    est ce qu'il existe un code vb permettant d'aboutir à ce résultat.
    J'ai oublié de préciser que je suis novice voir pire
    Merci d'avance

    bon je viens d'ecrire un code en vba mais bon je doute que ca marche

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub concatenation ()
    dim derligne as long 
    derligne=range("a65536").end(xlup).row 
    for i=1 to derligne
    cells(i;AE).value=cells(i,C).value & cells(i,E).value
    next i 
    End sub
    voila j'aimerai bien avoir votre avis tout en vous signalant que mes connaissance en vba culminent au point mort

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    Bonjour,

    Ton code n'est pas si mal que ça, essaie celui-ci (colonne C = A & B) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Sub concatenation()
      Dim derligne As Long
      With ActiveSheet
          derligne = .Cells(.Rows.Count, "A").End(xlUp).Row
      End With
      For i = 1 To derligne
          Cells(i, "C").Value = Cells(i, "A").Value & Cells(i, "B").Value
      Next i
    End Sub
    Patrice
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  3. #3
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut re
    salut

    merci pour ton code

    je voudrais savoir est ce qu'il y a un moyen d'automatiser la formule à l'aide d'une macro et de concaténer n'importe quelle colonne?

  4. #4
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 475
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 475
    Points : 5 630
    Points
    5 630
    Par défaut
    C'est à dire ???
    Cordialement,
    Patrice
    Personne ne peut détenir tout le savoir, c'est pour ça qu'on le partage.

    Pour dire merci, cliquer sur et quand la discussion est finie, penser à cliquer sur

  5. #5
    Expert éminent sénior 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
    Points : 31 877
    Points
    31 877
    Par défaut
    Bonsoir

    une proposition avec une procédure paramétrée
    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
    'Rng1 première plage, Rng2 deuxième plage, Dest: Cellule à partir de laquelle s'opérera la concaténation
    'Rng1 et Rng2 2 plages avec une seule colonne
    'Dest, une seule cellule
     
    Sub Concat(Rng1 As Range, Rng2 As Range, Dest As Range)
    Dim Nb As Long
     
    If Rng1.Columns.Count * Rng2.Columns.Count = 1 Then
        Nb = Application.Min(Rng1.Count, Rng2.Count)
        With Dest.Resize(Nb, 1)
            .Formula = "=" & Rng1(1, 1).Address(0, 0) & "&" & Rng2(1, 1).Address(0, 0)
            .Value = .Value
        End With
    End If
    End Sub
     
    'Pour tester
    Public Sub Test()
    Concat Range("A1:A100"), Range("E23:E150"), Range("M14")
    End Sub
    Cordialement.
    J'utilise toujours le point comme séparateur décimal dans mes tests.

  6. #6
    Membre régulier
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2011
    Messages
    422
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Janvier 2011
    Messages : 422
    Points : 99
    Points
    99
    Par défaut re
    salut

    j'ai testé le dernier code pour l'automatisation et visiblement ca marche

    merci pour votre soutiens

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

Discussions similaires

  1. [AC-2010] concatenation en vba
    Par pascal5 dans le forum IHM
    Réponses: 3
    Dernier message: 15/05/2013, 18h58
  2. VBA-E concatenation de feuilles
    Par porc-bouc dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 08/11/2007, 11h20
  3. [VBA] concaténation
    Par dalmasma dans le forum VBA Access
    Réponses: 3
    Dernier message: 27/07/2007, 12h29
  4. Concatenation code VBA
    Par toolmeup dans le forum VBA Access
    Réponses: 6
    Dernier message: 23/07/2007, 16h53
  5. [VBA - Excel]Concatenation checkbox/variable
    Par Mugette dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 29/06/2006, 16h45

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