Macro insertion ligne / transposition

Résolu
Bonjour, J'aimerai créer automatiquement des lignes en fonction d'un nombre calculer, avec si possible une transposition. Je vous joint les éléments pour mieux comprendre. Amicalement, Arnaud

3 réponses

  1. Contributeur
    voici un exemple:

    http://www.cjoint.com/c/EFyioHmqZPQ
    0
    1. Merci bien CS le pivert
      0
  2. Bonjour cs_Le Pivert,
    J'ai bien suivi tes instructions. Cependant, cela me met un BUG. Merci en tout cas .
    0
    1. Contributeur
      Bonjour,

      En vba faire Alt F11 pour accéder a l'éditeur.
      Ensuite sélectionner la feuille concernée en haut à gauche.
      mettre ceci:

      Option Explicit
      Dim ligne As Long
      Dim lettre As String
      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Intersect(ActiveCell, Range("G:G")) Is Nothing Then
      'rien
      Else
       ligne = Target.Value
       If ligne = 1 Then
         lettre = ActiveCell.Offset(0, -5).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
       End If
       If ligne = 2 Then
         lettre = ActiveCell.Offset(0, -4).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
         lettre = ActiveCell.Offset(0, -5).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
       End If
       If ligne = 3 Then
         lettre = ActiveCell.Offset(0, -3).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
         lettre = ActiveCell.Offset(0, -4).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
         lettre = ActiveCell.Offset(0, -5).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
       End If
       If ligne = 4 Then
         lettre = ActiveCell.Offset(0, -2).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
         lettre = ActiveCell.Offset(0, -3).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
         lettre = ActiveCell.Offset(0, -4).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
         lettre = ActiveCell.Offset(0, -5).Value
         ActiveCell.Offset(1).Resize(1, 1).EntireRow.Insert
         ActiveCell.Offset(1, -5).Value = lettre
       End If
      End If
      End Sub
      
      
      


      0
      1. Contributeur
        Tu cliques en colonne G sur les chiffres 1,2,3,4
        0