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 :

Dupliquer une ligne s'il y a une virgule dans une cellule


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2024
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2024
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Dupliquer une ligne s'il y a une virgule dans une cellule
    Hello,

    Je souhaiterais dupliquer mes lignes lorsqu'il y a une virgule dans une cellule de la colonne "TC number".

    Exemple :

    AS IS :
    Clt ID TC Number COS TC Type CRER UNLOCODE Lieu de Chargement UNLOCODE Lieu de Déchargement DATE Controlling Branch Dpt Nb de TC

    erz 3 BMOU4301597, TGHU9076257 C6 45G0 M CNTAO IEDUB 18/04/2024 MR 29 2

    TO BE :

    Clt ID TC Number COS TC Type CRER UNLOCODE Lieu de Chargement UNLOCODE Lieu de Déchargement DATE Controlling Branch Dpt Nb de TC

    erz 3 BMOU4301597 C6 45G0 M CNTAO IEDUB 18/04/2024 MR 29 2
    erz 3 TGHU9076257 C6 45G0 M CNTAO IEDUB 18/04/2024 MR 29 2

    Voici le fichier :
    TAB.xlsx

  2. #2
    Membre régulier
    Homme Profil pro
    retraité
    Inscrit en
    Mars 2019
    Messages
    53
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : retraité
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mars 2019
    Messages : 53
    Points : 76
    Points
    76
    Par défaut
    Bonsoir à Tous
    Bonsoir R1auCarre123

    Si j'ai bien compris, quelque chose comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     Sub decoupe()
     
    tablo = Split(Range("C3"), ",")
    nb_virgule = UBound(tablo)
    If nb_virgule <> 0 Then
     
        ' pour test
        nb = tablo(0)
        ' boucle sur UBound(tablo) concatenation pour resultat escompté
     
    End If
     
    End Sub
    A toi de peaufiner
    Dis nous

  3. #3
    Rédacteur/Modérateur

    Avatar de User
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    8 263
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2004
    Messages : 8 263
    Points : 19 428
    Points
    19 428
    Billets dans le blog
    63
    Par défaut
    Bonsoir,

    Je ne sais pas si le sujet est toujours d'actualité, vu le temps passé.

    En utilisant deux feuilles : on duplique les données de la 1re feuille dans la deuxième depuis le bouton de commande et comme indiqué en utilisant une macro :

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    Public Sub dupliquer()
        Dim wk1 As Worksheet
        Dim wk2 As Worksheet
        Dim tc_number
        Dim i1 As Long, i2 As Long, j As Long
     
        Set wk1 = ActiveSheet ' feuille n°1
        Set wk2 = ActiveWorkbook.Sheets(2) ' feuille n°2
     
        'initialisation des indice des lignes des 2 tableaux
        i1 = 3
        i2 = 3
     
        ' parcours des lignes du tableau 1 (feuille n°1)
        Do While (wk1.Cells(i1, 1).Value <> "") Or (wk1.Cells(i1, 2).Value <> "")
     
            tc_number = Split(wk1.Cells(i1, 3).Value, ", ")
     
            ' parcours des tc_number de la ligne
            For k = LBound(tc_number) To UBound(tc_number)
     
                ' parcours des colonnes du tableau
                For j = 1 To 12
                    If j <> 3 Then ' si pas colonne C :
                        wk2.Cells(i2, j).Value = wk1.Cells(i1, j).Value
                    Else ' sinon si colonne 'C' : copie du tc_number
                        wk2.Cells(i2, j).Value = tc_number(k)
                    End If
                Next j
     
                i2 = i2 + 1 ' ligne suivante du tableau 2 (feuille n°2)
     
            Next k
     
            i1 = i1 + 1 ' ligne suivante du tableau 1
     
        Loop
     
        Set wk1 = Nothing
        Set wk2 = Nothing
     
    End Sub
    En supposant qu'il y a toujours des tc_number dans la colonne C..

    Cdlt,
    Fichiers attachés Fichiers attachés
    Vous trouverez dans la FAQ, les sources ou les tutoriels, de l'information accessible au plus grand nombre, plein de bonnes choses à consulter sans modération

    Des tutoriels pour apprendre à créer des formulaires de planning dans vos applications Access :
    Gestion sur un planning des présences et des absences des employés
    Gestion des rendez-vous sur un calendrier mensuel


    Importer un fichier JSON dans une base de données Access :
    Import Fichier JSON

Discussions similaires

  1. Dupliquer une cellule dans une plage variable
    Par Ahspr dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 12/12/2018, 14h46
  2. [XL-2016] Bloquer la suppression d'une ligne X et pouvoir taper des données dans la cellule
    Par geoffrey.pfirsch dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 28/11/2018, 15h50
  3. [XL-2007] VBA pour dupliqué une cellule selon un chiffre
    Par 123DJO123 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 18/08/2017, 17h09
  4. Réponses: 2
    Dernier message: 12/11/2015, 10h07
  5. Dupliquer une ligne
    Par khokho dans le forum Administration
    Réponses: 2
    Dernier message: 26/07/2007, 15h47

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