VBA : établir une boucle et copier-coller

NeedHelp -  
f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   -

Bonjour tout le monde, 

J'essaye de réaliser un programme en VBA pour un projet mais je butte un peu sur la programmation.

En effet, cherche à faire correspondre les cellules identiques en colonne A et les fusionner afin d'obtenir une cellule en colonne B avec plusieurs valeurs. 

Pour ce faire, j'ai essayé d'établir une boucle qui lise la date en colonne A et si la date de la ligne 1 correspond à la date de la ligne 2 alors les numéros correspondant à ces 2 lignes en colonne B fusionnent dans une seule cellule de la colonne B correspondant à la bonne date. 

Sinon, si les dates en colonnes A ne sont pas identiques alors j'aimerais que la date et le numéro s'affiche dans la ligne suivante et ainsi de suite. 

Pour être plus claire, je veux fusionner tous les numéros ayant la même date dans une seule et même cellule et ce pour chacune de mes valeurs. Je joins une image pour que vous vous fassiez une idée. 

J'espère avoir été claire et que vous pourrez m'aider à résoudre ce problème. 

Merci d'avance 

4 réponses

  1. NeedHelp
     

    Bonjour,

    Pour le moment, ce n'est pas complet car je ne connais pas toutes les commandes d'instructions. Malgré des heures de recherches je n'arrive pas à trouver quelque chose me mettant sur la voie.

    En espérant que j'ai bien suivi les conseils de votre lien.

    Sub Mergecolumns()
    
    Dim wk_Futurismo As Workbook
    Dim ws_Sheet1 As Worksheet
    Dim lstrw As Long
    Dim C1 As Integer
    Dim C2 As Integer
    
    'Définir les variables'
    Set wk_Futurismo = Workbook
    Set ws_Sheet1 = Worksheet(1)
    
    'Démarrer la boucle'
    For i = 2 To lstrw
    
    'Condition si An=An+1, alors'
    If C1 = C2 Then
    
        'Coller N°ID à la suite du premier'
        
        
        Else
        
            'Lecture de la dernière ligne et coller à la suite'
            lstrw = ws_Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
            Past_line = lstrw + 1
    
            'Coller les valeurs sur la ligne suivante'
            ws_Sheet1.Cells(Past_line, 1) = ws_Sheet1.Cells(i, 1)
            ws_Sheet1.Cells(Past_line, 2) = ws_Sheet1.Cells(i, 2)
           
    
    End Sub
    0
  2. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Bonjour,

    Fichier exemple avec votre image.

     https://www.cjoint.com/c/MFwislEw5Wg

    Un dictionnaire pour liste sans doublon et recherche en fonction de cette liste

    Pour les colonnes, z'etes sur d'ecrire le resultat dans les memes colonnes?

    0
    1. NeedHelp
       

      Bonjour, 

      Merci beaucoup.

      Oui, c'est ce qui m' été demandé même si je ne suis pas 100% sûr d'y arriver.

      0
  3. f894009 Messages postés 17417 Date d'inscription   Statut Membre Dernière intervention   1 717
     

    Re,

    Fichier avec ecriture colonnes AB

     https://www.cjoint.com/c/MFwoQra5l0g

    Faut pas vous rater car vous n'aurez qu'un seul essai, les donnees d'origine AB n'existeront plus

    0