VBA insérer et copier des données

Résolu
Bonjour,

J'ai un tableau avec un numéro de facture en colonne A. je souhaite copier cette ligne 2 fois en dessous et ce pour toutes mes lignes jusqu'à la fin de mon tableau qui peut être de taille différente en fonction de la période.
Merci de votre aide
marie

Configuration: Windows / Edge 94.0.992.31

21 réponses

  1. Mais il me semble qu'il y a un problème
    Iu n'as pas rêvé, il y a bien incrémentation
    Essaies d'ajouter
    ,Type:=xlFillCopy
    aux deux lignes copiant vers le bas (AutoFill....), n'oublies pas la virgule !

    Cdlmnt
    2
    1. Bonjour

      Peux tu envoyer un bout de ton fichier sur cjoint.com et joindre le lien obtenu à ton prochain message. N'oublies pas d'y ajouter des explications et des exemples de résultat attendu
      1) Tu vas dans https://www.cjoint.com/
      2) Tu cliques sur [Parcourir] pour sélectionner ton fichier
      3) Tu descends en bas de la page pour cliquer sur [Créer le lien Cjoint]
      4) Au bout de quelques secondes la deuxième page s'affiche, avec le lien
      en bleu souligné ; tu le sélectionnes et tu fais "Copier"
      5) Tu reviens dans ta discussion sur CCM, et dans ton message de réponse tu fais "Coller".

      Cdlmnt
      0
      1. Voici le lien du fichier où j'ai déjà fait un début de code.
        En fait je récupère un fichier excel d'une application de vente, et je souhaite en faire un fichier csv pour importer des écritures dans un logiciel comptable.
        Pour cela je dois dupliquer ma ligne 3 fois, ce qui me permettra de compléter les colonnes Compte, débit et crédit en automatique. Ma première ligne je devrais indiquer dans compte 707 et le montant HT dans la colonne débit. Sur la deuxième ligne je devrais indiquer le compte 4457 et le montant de TVA dans la colonne débit et enfin sur la troisième ligne, copier le compte de la colonne code client et le montant TTC dans la colonne crédit.
        je ne fais pas souvent de programmation et j'ai du mal.
        Merci de ton aide

        https://www.cjoint.com/c/KIAn0zzwLTK
        0
        1. Une question

          Pour l'insertion des lignes
          Tu dis : Pour cela je dois dupliquer ma ligne 3 fois,
          ce qui te frea 4 lignes "identiques"
          plus loin : enfin sur la troisième ligne
          Tu veux 3 ou 4 lignes"identiques" ???

          Cdlmnt
          0
          1. Je veux 3 lignes identiques
            Je me suis mal exprimée
            0
            1. Oui c'est parfait.
              J'ai vu que tu avais changé ce que j'avais fait, je me doutais bien qu'on pouvait mieux faire ;-)
              Tu as vu qu'il y avait un onglet avec le fichier tel qu'il doit être pour EBP.
              Merci
              0
              1. 'ai vu que tu avais changé ce que j'avais fait,
                oui, je me suis permis ;-)

                Tu as vu qu'il y avait un onglet avec le fichier tel qu'il doit être pour EBP.
                oui c'est sheets(4)
                0
                1. J'ai essayé de comprendre ce que tu as fait ;-)
                  0
                  1. Merci
                    Mais il me semble qu'il y a un problème, les montants HT et TTC ne sont pas identiques sur les 3 lignes, de même qu'il y a comme un incrémentation sur le numéro, et la date.
                    Peux tu voir pour modifier stp
                    Merci d'avance
                    0
                    1. Bonjour,
                      Je n'étais plus derrière l'ordi lors de ta réponse.
                      Je viens de modifier et c'est parfait. Ca fonctionne parfaitement, juste c'est un peu long.
                      Mille mercis, tu m'as bien aidé
                      0
                      1. Bonjour

                        juste c'est un peu long
                        Combien de temps et pour combien de lignes au départ ?

                        Cdlmnt
                        0
                        1. Pour une vingtaine de lignes, j'ai chronométré 38 secondes.
                          0
                          1. Whaou, il y a un pb quelque part

                            Avec ton fichier, (16 lignes), ça met 0.04 s avec mon vieil excel 2003 et sur ma vénérable machine (12 ans d'âge)

                            Je t'ai écrit une autre version qui devrait être plus rapide 0.02 s chez moi ; tout se fait en mémoire et affiche le tableau en un coup (par de suppression de colonne d'insertion de lignes , ...)
                            Tu te mets dans la feuille TestRapide (la ligne de titre est mise "à la main")
                            https://www.cjoint.com/c/KIBoOgA2NWB
                            Pour comparer tu peux depuis la feuille Test relancer l'ancienne version( Ctrl+k)

                            Le pb vient peut être du fait que j'ai dû passer par le convertisseur (excel 2007 ou +) .xlsm > .xls (excel 2003) pour ouvrir ton fichier
                            A partir d'un fichier créé avec ta version d'excel, tu copies les modules 3 et 4, ça devrait aller mieux

                            Cdlmnt
                            0
                            1. Bonjour,
                              Oui effectivement c'est très rapide. Par contre j'ai vu qu'il y avait une ligne en haut du fichier. Si j'ai bien compris, les données que je récupère sont à copier dans un onglet dont le nom est défini dans le code puis je lance la macro ?
                              Toutefois, je te joins mon fichier de récupération de données car j'ai une nouvelle colonne que je dois conserver : date d'échéance. Alors j'avais modifié ta précédente macro mais là j'ai peur de faire des bêtises ;-)
                              https://cjoint.com/c/KICfvaiiWjK
                              Merci bcp
                              0
                              1. Si j'ai bien compris, les données que je récupère sont à copier dans un onglet dont le nom est défini dans le code puis je lance la macro ?
                                J'ai fait ça par commodité (pour moi !), mais ce serait bien que tu réfléchisses au scénario pour la récupération des données transférées.
                                Tu dis
                                Bon, je regarde ton nouveau (grrr) fichier

                                RQ. as tu essayé la procédure ok ? si oui, ça donne quoi comme temps d'exécution ?

                                Cdlmnt
                                0
                                1. Merci mille fois. C'est absolument génial.
                                  0
                                  1. juste une question : qu'en est il au niveau du temps d'exécution ?

                                    Bonne soirée
                                    0
                                    • 1
                                    • 2