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

Excel Discussion :

Excel Fusion de lignes avec concaténation de cellules


Sujet :

Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Excel Fusion de lignes avec concaténation de cellules
    bonjour à tous
    je cherche un petit script VBA pour me permette de fusionner de lignes avec concaténation de cellules. Voici un exemple de données issues d'un copier/Coller de plusieurs fichiers.

    genre espèce année1 année2 année3
    A B vide vide i
    A B vide j vide
    A B k vide vide
    C D vide vide i
    E F vide vide i
    E F vide j vide
    ... ... ... ... ...


    voici ce que je voudrais après la macro, pour toutes les lignes où genre et espèce sont identiques, mettre à plat toutes les cellules dont une seule est non vide par ligne. le nombre de lignes identiques est au max de 52, le nombre total de lignes de l'ordre 5000

    A B k j i
    C D vide vide i
    E F vide j i

    Quelqu'un aurait une piste pour m'aider.
    merci d'avance
    Cordialement
    Franval

  2. #2
    Expert confirmé
    Homme Profil pro
    Electrotechnicien
    Inscrit en
    Juillet 2016
    Messages
    3 240
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Electrotechnicien

    Informations forums :
    Inscription : Juillet 2016
    Messages : 3 240
    Points : 5 655
    Points
    5 655
    Par défaut
    Bonjour,

    Ceci
    Pièce jointe 579722

    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
    Sub Fusion()
        Dim DerLig As Long, i As Long, j As Long
        Application.ScreenUpdating = False
        Columns("J:N").ClearContents
        DerLig = Range("A" & Rows.Count).End(xlUp).Row
        Columns("A:E").Copy Columns("J:J")
     
        For i = DerLig - 1 To 2 Step -1
            If Cells(i, "J") = Cells(i + 1, "J") And Cells(i, "K") = Cells(i + 1, "K") Then
                For j = 12 To 14
                    If Cells(i + 1, j) <> "" Then
                        Cells(i, j) = Cells(i + 1, j)
                    End If
                Next j
                Range(Cells(i + 1, "J"), Cells(i + 1, "N")).Delete
            End If
        Next i
    End Sub
    Cdlt

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Bonjour Arturo83
    Merci beaucoup, ça marche super bien pour mon petit exemple mais le fichier va s'élargir avec des colonnes année, donc le code devra être modifié en conséquence.
    J'ai compris presque tout (enfin je le pense) ce qui concerne les lettres des colonnes à adapter, sauf la ligne "for j = 12 To 14".
    Qu'est ce représente 12 et 14 ?
    merci d'avance
    cordialement
    Franval

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Je crois que j'ai compris. c'est le rang des colonnes L à N qui contiennent les années.

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

Discussions similaires

  1. [XL-2010] macro copie et colle des lignes avec condition de cellule
    Par olive72 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2015, 16h34
  2. [XL-2007] Insertion ligne avec copie certaines cellules ligne précédente
    Par John Parker dans le forum Macros et VBA Excel
    Réponses: 24
    Dernier message: 23/08/2013, 16h42
  3. [XL-2007] Fusions de lignes avec en tete different
    Par jfpayen dans le forum Excel
    Réponses: 0
    Dernier message: 22/02/2013, 07h35
  4. {VBA Excel] Récupere une ligne avec ces infos
    Par Thomas69 dans le forum Macros et VBA Excel
    Réponses: 16
    Dernier message: 25/06/2007, 11h53
  5. [Excel VB] Insertion ligne avec formules
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2005, 16h21

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