Integration de ligne

Résolu
Bonjour,

Je souhaiterais intégrer de manière automatique 15 lignes entre chacune des ligne d'un classeur excel.

Je m'explique. Prenons :
colonne A
ligne 2 TOTO
ligne 3 Maurice

Après utilisation de ma macro...
Ligne2 TOTO
Ligne 3 TOTO
.
.
.
Ligne 17 Maurice

Et que les ligne ajoutée reprennent la cellule précédente comme expliqué.

Merci de l'aide que vous pourrez m'apporter et je reste à disposition pour tout complément d'information....

14 réponses

  • Votes
  • Date
  • Date décroissante
  1. Il te suffit de mettre un apostrophe devant la ligne pour l'inhiber
      '.Range(.Cells(lideb, 5), .Cells(lideb + nbliT - 1, 5)).NumberFormat = "00000000"

    Si tes noms sont des nombres et que ta colonne cible a été formatée "00000000" penses à la reformater en standard

    Cdlmnt
    1. Merci ccm81, enfin fini^^
      Merci de ton aide.
  2. Pourrais je avoir le code pour le texte en fait stp?????^^

    Merci
    1. Cela fonctionne parfaitement.
      Un grand MERCIIII CCM81, tu viens de m'économiser un travail monstre.

      Encore Merci et bon courage pour la suite.
      1. Tu ajoutes la ligne entre .cells et End with

            Next li
          .Cells(lideb, 5).Resize(nbliT, 2) = T
          .Range(.Cells(lideb, 5), .Cells(lideb + nbliT - 1, 5)).NumberFormat = "00000000"
        End With


        Cdlmnt
        1. Ils sont indiqués comme format "Standard".....?
          Mais les transformer en format perso me va nikel ^^ si cela est ta question
          1. Est ce que ces "nombres" sont des nombres au format personnalisé "00000000" ou bien sont du "texte"
            1. J'ai choisi la 1ère solution cela fonctionne nikel.....merci.

              Une dernière question après je te libère^^

              A la place des noms donnés dans mon exemple (TOTO, Maurice,...), j'ai une série de chiffre sous ce format là ("00001681";"00000799";...).
              Hors lorsque je lance la macro, cela me transforme directement ces nombres en chiffres ("1681";"799"), alors que je souhaite que le format précédent perdure.

              Aurais tu un bout de code à me donner pour que j'intègre le format à la macro que tu m'as faite?
              1. Tu as deux solutions
                1.
                en début de code
                Const plageTN = "A1:A15"
                puis, dans la procedure
                T(liT, 2) = Sheets("Table").Range(plageTN).Cells(k, 1).Value

                2. Nommer la plage dans la feuille "Table", par exemple "TableNb"
                puis en début de code
                Const plageTN = "TableNb"
                et dans la procedure (attention plus de point devant Range)
                T(liT, 2) = Range(plageTN).Cells(k, 1).Value

                A toi de voir
                1. Par contre, pourrais tu me dire comment modifier ce bout de code pour que la plage sélectionner dans la constante soit en fait extrait d'une autre Feuille appelée "Table" toujours des lignes A1:A15 stp

                  Const plageTN = Sheets("Table").Range("A1:A15").Select
                  1. C'est parfait, nikel, je te remercie beaucoup ccm81^^
                    Je pense pas réussir à te dépanner un jour donc MERCI.
                    1. Merci beaucoup c'est exactement ma demande.

                      A défaut d'abuser, pourrais tu reproduire cette macro pour que cela agisse sur la colonne A et non C, et que un nombre soit inscrit sur la colonne suivante (B) pour chaque insertion de ligne.

                      Je reprend mon exemple:
                      Colonne A Colonne B
                      ligne 2 TOTO 4800
                      ligne 3 TOTO 4802
                      .
                      .
                      .
                      .
                      ligne 17 Maurice 4800

                      J'ai repris les nombres a intégrer dans mon exemple comme suit.
                      https://www.cjoint.com/c/EGcn3rHP3Uy

                      Merci ccm81 de ton aide