Excel VBA : Insertion de 2 colonnes à partir de la colonne C avec un saut de 2 jusqu'à la dernière valeur de la ligne 9

Anonyme
2021-01-23T15:08:59+00:00

Bonjour à tous,

Avec cette macro je sais insérer une  seule colonne avec un step de 2...

Je ne trouve pas la solution pour insérer deux colonnes vides au lieu d'une, et toujours avec un saut de 2...

    NbCol = Range("KX9").End(xlToLeft).Column - 1

    For i = 3 To (NbCol * 2) + 1 Step 2

               Columns(i).insert Shift:=xlToRight

    Next

Quelques peut me donner un coup de pouce ?

Merci

Domi

Microsoft 365 et Office | Excel | Pour la maison | Windows

Question verrouillée. Cette question a été migrée à partir de la Communauté Support Microsoft. Vous pouvez voter pour indiquer si elle est utile, mais vous ne pouvez pas ajouter de commentaires ou de réponses ni suivre la question.

0 commentaires Aucun commentaire
Réponse acceptée par l’auteur de la question
DanielCo 107.7K Points de réputation
2021-01-23T17:00:58+00:00

Compris. Essaie (pour les insertions et les suppressions, il faut commencer par le bout en revenant vers le début) :

  nbcol = Range("KX8").End(xlToLeft).Column

  For i = nbcol To 5 Step -1

    Columns(i).Resize(, 2).Insert

  Next

Daniel

Cette réponse a-t-elle été utile ?

1 personne a trouvé cette réponse utile.
0 commentaires Aucun commentaire

3 réponses supplémentaires

  1. Anonyme
    2021-01-23T17:10:36+00:00

    et la lumière fut ! ;o))

    Un grand merci

    je note ça précieusement

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  2. Anonyme
    2021-01-23T16:39:39+00:00

    Bonjour Daniel,

    Ca coince toujours même avec tes deux proposition, mais peut être que je ne me suis pas bien expliqué.

    C'est peut être moi qui ne comprends pas un truc mais ça m'insère toutes les colonnes vides entre C et D et pas 2 colonnes avec à chaque fois un saut

    Je viens de mettre un petit fichier exemple sur cijoint de ce que je voudrais

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

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire
  3. DanielCo 107.7K Points de réputation
    2021-01-23T15:40:55+00:00

    Bonjour,

    Essaie :

        For i = 3 To (NbCol * 2) + 1 Step 2

          Columns(i).Resize(, 2).Insert

        Next i

    Mais, pourquoi faire une boucle ?

    Columns(3).Resize(, nbcol).Insert

    Cordialement.

    Daniel

    Cette réponse a-t-elle été utile ?

    0 commentaires Aucun commentaire