Décalage de cellule

thomhcv59 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
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. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    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
    0
  2. thomhcv59 Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour Michel ,

    Excuse moi pour le retard

    c'est ainsi de suite

    Thom
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      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
      0