Décalage de cellule

Bonjour tous le monde ,

Etant débutant en vba ,

j'ai une plage de cellule A2:A6 dans la Feuil1 que j'aimerai copier dans la Feuil2 en B2:B6

mais si B2:B6 est non-vide alors il copie la plage vers la droite donc en C2:C6

Je pense qu'il faut utiliser range et offset mais je ne sais pas comment m'y prendre

Avez-vous une idée ?

Merci d'avance pour vos réponses

Thomas

2 réponses

  1. Contributeur
    Bonjour
    1 seule fois ou "ainsi de suite" ?
    c.a.d. : si c2:c6 non vide alors copier en D2:D6 etc.

    si 1 seule fois
    Option Explicit

    Sub decaler_coller()
    Dim source()
    source = Sheets(1).Range("A2:A6").Value
    With Sheets(2)
    If Application.CountA(.Range("B2:B6")) = 0 Then
    .Range("B2:B6") = source
    Else
    .Range("C2:C6") = source
    End If
    End With
    End Sub


    Michel
    1. Bonjour Michel ,

      Excuse moi pour le retard

      c'est ainsi de suite

      Thom
      1. Contributeur
        Vite fait avant la soupe version "ainsi de suite"
        Option Explicit
        Sub hhhh()
        Dim Col As Integer, Bloc()
        Bloc = Sheets(1).Range("A2:A6").Value
        With Sheets(2)
        Col = 2
        While Application.CountA(.Range(.Cells(2, Col), .Cells(6, Col))) > 0
        Col = Col + 1
        Wend
        .Range(.Cells(2, Col), .Cells(6, Col)) = Bloc
        .Select
        End With

        End Sub